[Haskell] MTL violates coverage condition?