pub trait MapSpecialCaseFn<T> { type Out; // Required method fn call(&mut self, t: T) -> Self::Out; }