[Haskell-cafe] What is this applicative functor?