[Haskell-cafe] Functional dependencies and incoherent instances