[Haskell-beginners] From Functional Dependencies to Type Families