pub trait Integrates<R: Real, S: VectorSpace<R>> {
// Required method
fn step(
&self,
time: R,
state: &mut [S],
dt: R,
force: &'_ dyn Fn(R, S) -> S,
) -> S;
// Provided method
fn init(&self, state: S, _dt: R, _force: &'_ dyn Fn(R, S) -> S) -> Box<[S]> { ... }
}