pub fn lens<'a, S, A>( getter: &'a dyn Fn(&S) -> A, setter: &'a dyn Fn(&S, &A) -> S) -> LensImpl<'a, S, A>