-val dot_tac: NTacStatus.tactic
-val branch_tac: NTacStatus.tactic
-val shift_tac: NTacStatus.tactic
-val pos_tac: int list -> NTacStatus.tactic
-val wildcard_tac: NTacStatus.tactic
-val merge_tac: NTacStatus.tactic
-val focus_tac: int list -> NTacStatus.tactic
-val unfocus_tac: NTacStatus.tactic
-val skip_tac: NTacStatus.tactic
-
-val distribute_tac: NTacStatus.lowtactic -> NTacStatus.tactic
-val block_tac: NTacStatus.tactic list -> NTacStatus.tactic
-
-val apply_tac: NTacStatus.tactic_term -> NTacStatus.tactic
+val print_tac: bool -> string -> 's NTacStatus.tactic
+
+val dot_tac: 's NTacStatus.tactic
+val branch_tac: ?force:bool -> 's NTacStatus.tactic
+val shift_tac: 's NTacStatus.tactic
+val pos_tac: int list -> 's NTacStatus.tactic
+val case_tac: string -> 's NTacStatus.tactic
+val wildcard_tac: 's NTacStatus.tactic
+val merge_tac: 's NTacStatus.tactic
+val focus_tac: int list -> 's NTacStatus.tactic
+val unfocus_tac: 's NTacStatus.tactic
+val skip_tac: 's NTacStatus.tactic
+val try_tac: NTacStatus.tac_status NTacStatus.tactic -> 's NTacStatus.tactic
+val repeat_tac: NTacStatus.tac_status NTacStatus.tactic -> 's NTacStatus.tactic
+
+val compare_statuses : past:#NTacStatus.lowtac_status -> present:#NTacStatus.lowtac_status -> int list * int list
+
+val distribute_tac:
+ NTacStatus.lowtac_status NTacStatus.lowtactic -> 's NTacStatus.tactic
+val exec : NTacStatus.tac_status NTacStatus.tactic -> 's NTacStatus.lowtactic
+val block_tac: 's NTacStatus.tactic list -> 's NTacStatus.tactic
+
+val apply_tac: NTacStatus.tactic_term -> 's NTacStatus.tactic
+val assumption_tac: 's NTacStatus.tactic