Generalizes [[Functor]] to functions with 2+ arguments ```haskell apply :: forall f a b . Apply f => f (a -> b) -> f a -> f b infixl apply as <*> ```