munge :: (x -> y) -> (y -> (w,z)) -> x -> w
{-
my 'brute force' approach:
munge xToY yToWZ x = fst (yToWZ (xToY x))

or more elegant composition:
-}
munge f g = fst . g . f
munge :: (x -> y) -> (y -> (w,z)) -> x -> w
munge f g = fst . g . f
munge f g = fst . g . f