pub trait TryApply<Rhs> { type Output; type Error; // Required method fn try_apply(&self, rhs: Rhs) -> Result<Self::Output, Self::Error>; }