pub trait ApplyUnary<T> { type Output; // Required methods fn apply(&self, x: T) -> Self::Output; fn apply_once(self, x: T) -> Self::Output; }