pub trait Function: for<'a> Routine<FunctionContext<'a>> {
// Required method
fn kinds(&self) -> &[FunctionKind];
// Provided method
fn accumulator(
&self,
_ctx: &mut FunctionContext<'_>,
) -> Option<Box<dyn Accumulator>> { ... }
}