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