Haskell LanguageCreating Custom Data Types