ap :: forall f a b. f (a -> b) -> f a -> fb
map :: forall f a b. (a -> b) -> f a -> fb
// 아래는 flipped 된 bind bind :: forall m a b. (a -> m b) -> m a -> m b
reference