Applicative Functors in Haskell extend on the idea of Functors.
Functors are things that can be mapped over. Another way of looking at functors
is as values with an added context. For instance, Maybe values have the extra context that they may have failed. Whit lists, the context is that the value can actually be several values or none.