anchor.diff:      current_goalstack := [hd l]
   
   let e tac = refine(by(VALID tac))
  +
   let r n = refine(rotate n)
   
   let set_goal(asl, w) = 
  
positive.code:         | Failure _ -> ttcl2 ttac th
  
  // CAUTION: Change REPEAT_TCL to delay StackOverflowException
  let rec REPEAT_TCL ttcl = 
      fun ttac -> (ORELSE_TCL (THEN_TCL ttcl (REPEAT_TCL ttcl)) I) ttac
  
  let (REPEAT_GTCL : thm_tactical -> thm_tactical) = 
      let rec REPEAT_GTCL ttcl ttac th g = 
  
negative.code:     REPEAT_GTCL
  
  let (ALL_THEN : thm_tactical) = I
  
  let (NO_THEN : thm_tactical) = fun ttac th -> failwith "NO_THEN"
  
  let EVERY_TCL ttcll =
      itlist (fun t1 t2 -> t1 |> THEN_TCL <| t2) ttcll ALL_THEN;;
  
  let FIRST_TCL ttcll =
      end_itlist (fun t1 t2 -> t1 |> ORELSE_TCL <| t2) ttcll;;
  
  (* ------------------------------------------------------------------------- *)
  (* Tactics to augment assumption list. Note that to allow "ASSUME p" for     *)
  