($) :: (a -> b) -> a -> b map :: (a -> b) -> f a -> f b (??) :: f (a -> b) -> a -> f b (<*>) :: f (a -> b) -> f a -> f b (=<<) :: (a -> f b) -> f a -> f b