+let orc_reset f st =
+ f {st with opening = false; reopening = false; closing = false}
+
+let orc_count f st =
+ let st = if st.opening then {st with iao = succ st.iao} else st in
+ let st = if st.reopening then {st with iar = succ st.iar} else st in
+ let st = if st.closing then {st with iac = succ st.iac} else st in
+ f st
+
+let exp_count f st =
+ let st =
+ if st.explicit || st.block then st else {st with iag = succ st.iag}
+ in
+ f st
+