mtl-2.1.3.1: Monad classes, using functional dependencies