type nom == string and valeur = Constante of int | Closure of nom * expression * ((nom * valeur) list) and expression = Entier of int | Variable of nom | Application of expression * expression | Plus of expression * expression | Minus of expression * expression | Times of expression * expression | Div of expression * expression | Uminus of expression | Ifz of expression * expression * expression | Let of nom * expression * expression | Letrec of nom * expression * expression | Fun of nom * expression ;;