> Try explaining them to increase your understanding Functor: take a polymorphic type e.g. Maybe a define a functor instance for it (fmap) now we can write an (a -> a) function and apply it to the polymorphic type Applicative: allows to apply (a -> ... -> a) to the polymorphic type for which Functor & Applicative instance is defined ?