Hi all,
I often find myself needing the following definitions:
mapPair :: (a -> b) -> (c -> d) -> (a,c) -> (b,d)
mapPair f g (x,y) = (f x, g y)
mapFst :: (a -> b) -> (a,c) -> (b,c)
mapFst f = mapPair f id
mapSnd :: (b -> c) -> (a,b) -> (a,c)
mapSnd = mapPair id