Für neue Datentypen mit einem Konstruktor und einem Argument:

newtype Nat = N Int  
  • type: nur Synonym, kein eigener Typ (Bsp.: Strings)
  • data und newtype generieren neue, unabhängige Typen
    • klare Trennung von Typen
  • newtype: Effizienzgewinn, da Typkonstruktoren nach Typüberprüfung durch Compiler ersetzt werden