freelude-0.3.1.0: A generalisation of the Category->Functor->Applicative->Monad hierarchy and more