pub trait GetMut<'a> { type Output: Deref + DerefMut; // Required method fn get_mut(&'a mut self, i: usize) -> Option<Self::Output>; }