[Haskell-cafe] converting functional dependencies to type families