public static Map <K, U> Map <K, V, U>(this Map <K, V> self, Func <K, V, U> mapper) => new Map <K, U>(MapModule.Map(self.Value.Root, mapper), self.Value.Rev);
public static Map <OrdK, K, U> Map <OrdK, K, V, U>(this Map <OrdK, K, V> self, Func <K, V, U> mapper) where OrdK : struct, Ord <K> => new Map <OrdK, K, U>(MapModule.Map(self.Value.Root, mapper), self.Value.Rev);