Add the ability to derive instances of Functor, Foldable, Traversable