-- Exercise 18
-- Relative Difficulty: 6
-- (bonus: use ap + lift3')
lift4' :: (Monad' m) => (a -> b -> c -> d -> e) -> m a -> m b -> m c -> m d -> m e
lift4' f ma mb mc = ap (lift3' f ma mb mc)
lift4' :: (Monad' m) => (a -> b -> c -> d -> e) -> m a -> m b -> m c -> m d -> m e
lift4' f ma mb mc = ap (lift3' f ma mb mc)
lift4' f ma mb mc = ap (lift3' f ma mb mc)