Proof of concept for Functor and Applicative typeclasses, with second-class modules.