The nuts and bolts Adams solver
Users won’t use this directly if they aren’t defining their own Adams predictor-corrector
Used as a common struct for the specific implementations
The solver for any Adams predictor-corrector
Users should not use this type directly, and should
instead get it from a specific Adams method struct
(wrapped in an IVPIterator)
This trait defines an Adams predictor-corrector solver
The Adams struct takes an implemetation of this trait
as a type argument since the algorithm is the same for
all the predictor correctors, just the order and these functions
need to be different.