[Haskell-cafe] Functional dependencies with Type Classes