pub trait Easing { // Required method fn eval(&self, time: f64) -> f64; // Provided methods fn velocity(&self, time: f64) -> Option<f64> { ... } fn finished(&self, time: f64) -> bool { ... } }