[Haskell-beginners] Generalised data constructor matching