Das geht bisher gar nicht:
let { f = \ x -> if x > 0
then x * f (x -1) else 1
} in f 5
(Bezeichner f ist nicht sichtbar)
Lösung:
( rec f ( \ x -> if x > 0
then x * f (x -1) else 1 )) 5
mit neuem AST-Knotentyp rec