[Haskell-cafe] Functional dependencies and overloading of operation