z
ap
<*>
ap :: Monad m => m (a -> b) -> m a -> m b
m
(->) r
ap :: (r -> a -> b) -> (r -> a) -> (r -> b)
hss :: (r -> a -> b) -> (r -> a) -> r -> b s x y z = x z (y z)