pub trait EngineExt<E: Engine> { // Required method fn run<F>(&mut self, limit: F) -> E::Epoch where F: Fn(&E::Epoch) -> bool, Self: Sized; }