typisches Vorgehen beim Programmieren einer Funktion
f :: T -> ...
data T = C1 ... | C2 ...
f x = case x of C1 ... -> ... C2 ... -> ...