-- Exercise 16
-- Relative Difficulty: 6
-- (bonus: use ap + fmap'') ap' and fmap''
-- <*> :: f (a->b) -> (f a -> f b)
lift2' :: (Monad' m) => (a -> b -> c) -> m a -> m b -> m c
lift2' f ma mb = f `fmap'` ma `ap` mb
lift2' :: (Monad' m) => (a -> b -> c) -> m a -> m b -> m c
lift2' f ma mb = f `fmap'` ma `ap` mb
lift2' f ma mb = f `fmap'` ma `ap` mb