bisher: Wert eines Ausdrucks ist Zahl.
jetzt erweitern (Motivation: if-then-else mit richtigem Typ):
data Val = ValInt Int | ValBool Bool
Dann brauchen wir auch
data Val = ... | ValErr String
with_int :: Val -> (Int -> Val) -> Val