pub trait SideInput: FnMut(&Phrase) -> Option<Vec<Token>> { }
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".