Added Functor and Applicative instances.