{-# htermination liftM3 :: (a -> b -> c -> d) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d) #-} import Monad