[Haskell-cafe] Inferring types from functional dependencies