didn't. Added another comment in the code.
aux 1
;;
+(*CSC: this restriction function is utterly wrong, since it does not check *)
+(*CSC: that the variable that is going to be restricted does not occur free *)
+(*CSC: in a part of the sequent that is not going to be restricted. *)
+(*CSC: In particular, the whole approach is wrong; if restriction can fail *)
+(*CSC: (as indeed it is the case), we can not collect all the restrictions *)
+(*CSC: and restrict everything at the end ;-( *)
let restrict to_be_restricted =
let rec erase i n =
function