[Haskell-cafe] Improving MTL instances (was: Overlapping/Incoherent instances)