\ifger{D.h. wenn wir verallgemeinern müssten, hat ein algebraischer Datentyp einen oder mehr \textbf{Konstruktoren}, von denen jeder null oder mehr \textbf{Argumente} hat. Z.B.:}{So if we want to generalize it, an algebraic data type has one or more \textbf{constructors}, and each of them can have zero or more \textbf{arguments}. E.g.:} \begin{haskellcode} data AlgDataType = Constr1 Type11 Type12 | Constr2 Type21 | Constr3 Type31 Type32 Type33 | Constr4 \end{haskellcode}