[Haskell-cafe] Sets, typeclasses and functional dependencies