Iterative-based inversion maps cleanly into an object-oriented framework.
Vector, operator, and solver abstract classes can be built upon to solve
nearly any inversion problem.
The Fortran 2008 standard contains all of the object-oriented features needed
to write an inversion library. The resulting inverse code is more verbose than the Fortran 90
approach but the added flexibility makes this an acceptable penalty.