let exp_fold ~var ~int ~plus = exp_fold var int plus;; let eval env = exp_fold ~var:(fun x -> List.assoc x env) ~int:(fun n -> n) ~plus:(fun e1 e2 -> e1 + e2);;
Noter la similitude avec la définition directe. Ici, la seule différence
est que les appels récursifs sont effectués par exp_fold.