let fresh_exp = let r = ref (-1) in fun () -> incr r; !r