anchor.diff:          with NoUnif -> run t' ps)
   
   let apply (uopt:bool) (tm:term) : tac<unit> =
  +    bind (mlog (fun () -> BU.print1 "apply: tm = %s\n" (Print.term_to_string tm))) (fun _ ->
       bind cur_goal (fun goal ->
       let tm, typ, guard = goal.context.type_of goal.context tm in
       // Focus helps keep the goal order
  
positive.code:         bind (if not (istrivial goal.context (U.mk_squash pre))
                then add_irrelevant_goal goal.context pre goal.opts
                else ret ()) (fun _ ->
          add_goals sub_goals))))))
  
  let destruct_eq' (typ : typ) : option<(term * term)> =
      match U.destruct_typ_as_formula typ with
  
negative.code:                     (N.term_to_string goal.context (bnorm goal.context typ))
                      (N.term_to_string goal.context goal.goal_ty)))
  
  let exact (tm:term) : tac<unit> =
      bind (mlog (fun () -> BU.print1 "exact: tm = %s\n" (Print.term_to_string tm))) (fun _ ->
      focus (__exact tm)
      )
  
  let exact_lemma (t:term) : tac<unit> =
      bind cur_goal (fun goal ->
  