(* Le typage est exponentiel *) let pair x y z = (z x) y in let x1 y = (pair y) y in let x2 y=x1 (x1 y) in let x3 y=x2 (x2 y) in let x4 y=x3 (x3 y) in let x5 y=x4 (x4 y) in (* etc ... *) let id z = z in x5 id;;