[Haskell-cafe] A question about functional dependencies