mapWithKey :: EnumKey k => (k -> a -> b) -> EnumMap k a -> EnumMap k b
mapWithKey f (EM m) = EM $ IM.mapWithKey (f . intToKey) m
mapWithKey :: EnumKey k => (k -> a -> b) -> EnumMap k a -> EnumMap k b
mapWithKey f (EM m) = EM $ IM.mapWithKey (f . intToKey) m
mapWithKey f (EM m) = EM $ IM.mapWithKey (f . intToKey) m