mgeneric (hackage): This package provides an implementation of generics with multiple parameters in Haskell, as described in http://dreixel.net/research/pdf/gpmp_colour.pdf.  A MGeneric instance can be derived for most datatypes with deriveMGeneric ''Type  It also provides the type classes MFunctor, MFoldable and MTraversable, generalisations of Functor, Foldable and Traversable to kinds other than (* -> *), and the type class MZipWith.
Keywords: data|library|mit