let cc _ = let count = ref 0 in (fun _ -> count := !count + 1), (fun _ -> !count);; (* Demo *) let i1, r1 = cc() and i2, r2 = cc() in i1(); i2(); i1(); [r1(); r2()];; (* => [2; 1] *)