-let ct_items3 sc c st1 t1 st2 t2 st3 t3 =
- ct_items2 sc c st1 t1 st2 t2 @ [Warn st3; Term (c, t3)]
+let et_items2 sc1 c1 st1 t1 ?sc2 ?c2 st2 t2 =
+ let tl = match sc2, c2 with
+ | Some sc2, Some c2 -> et_items1 sc2 c2 st2 t2
+ | None, None -> t_items1 st2 c1 t2
+ | _ -> assert false
+ in
+ et_items1 sc1 c1 st1 t1 @ tl
+
+let et_items3 sc1 c1 st1 t1 ?sc2 ?c2 st2 t2 ?sc3 ?c3 st3 t3 =
+ let tl = match sc3, c3 with
+ | Some sc3, Some c3 -> et_items1 sc3 c3 st3 t3
+ | None, None -> t_items1 st3 c1 t3
+ | _ -> assert false
+ in
+ et_items2 sc1 c1 st1 t1 ?sc2 ?c2 st2 t2 @ tl