mtl-2.1.2: Monad classes, using functional dependencies

Monad classes using functional dependencies, with instances
for various monad transformers, inspired by the paper
Functional Programming with Overloading and Higher-Order Polymorphism,
by Mark P Jones, in Advanced School of Functional Programming, 1995
(http://web.cecs.pdx.edu/~mpj/pubs/springschool.html).