(* we are lambda-lifting also variables that do not occur *)
(* ctx does not distinguish successive blocks of cofix, since there may be no
* lambda separating them *)
(* we are lambda-lifting also variables that do not occur *)
(* ctx does not distinguish successive blocks of cofix, since there may be no
* lambda separating them *)
in
let bctx, fixpoints_tys, tys, _ =
List.fold_right
in
let bctx, fixpoints_tys, tys, _ =
List.fold_right
in
let bad_bctx, fixpoints_tys, tys, _ =
List.fold_right
in
let bad_bctx, fixpoints_tys, tys, _ =
List.fold_right