Hello everyone,

unionWithKey and unionWith have the following types

unionWith :: Ord k => (a -> a -> a) -> Map k a -> Map k a -> Map k a
unionWithKey :: Ord k => (k -> a -> a -> a) -> Map k a -> Map k a -> Map k a

Since they are implemented by means of mergeWithKey,
wouldn't it be possible to generalize these functions to the
following types ?

unionWith :: Ord k => (a -> b -> c) -> Map k a -> Map k b -> Map k c
unionWithKey :: Ord k => (k -> a -> b -> c) -> Map k a -> Map k b -> Map k c

Cheers,
Jose
-- 
José António Branquinho de Oliveira Lopes
Instituto Superior Técnico
Technical University of Lisbon