[Haskell-beginners] Structural restrictions in type constructor