pub trait Lens<T, U>: Clone + Copy + 'static {
// Required methods
fn focus<'a>(&self, data: &'a T) -> &'a U;
fn focus_mut<'a>(&self, data: &'a mut T) -> &'a mut U;
}
pub trait Lens<T, U>: Clone + Copy + 'static {
// Required methods
fn focus<'a>(&self, data: &'a T) -> &'a U;
fn focus_mut<'a>(&self, data: &'a mut T) -> &'a mut U;
}