pub trait MapMap<K, V> {
// Provided method
fn map_map<N, F, FM, M>(
self,
f: F,
fm: FM,
) -> MappedMap<K, V, N, Self, F, FM>
where F: Fn(&V) -> &N,
FM: Fn(&mut V) -> &mut N,
Self: MapAbstract<K, V> + Sized { ... }
}