pub trait RootFinder {
// Required methods
fn get_init_args(&mut self) -> Box<[f64]>;
fn get_next_args(&mut self, fx: &[f64], dfx: &[f64]) -> Box<[f64]>;
fn should_stop(
&self,
fx: &[f64],
dfx: &[f64],
) -> Option<Result<f64, String>>;
}