[Haskell-beginners] data type design question