pub trait Callback<Ctx> { // Required method fn call(&self, context: &mut Ctx) -> Behave; // Provided method fn boxed(self) -> Box<dyn Callback<Box<dyn Any + Send>> + Send> where Self: Sized { ... } }