anchor.diff:                                       goal_ty = SS.subst s goal.goal_ty;
                                        witness = SS.subst s goal.witness;})
              | _ ->
  -             fail "rewrite: Not an equality hypothesis with a variable on the LHS")
  -        | _ -> fail "rewrite: Not an equality hypothesis"
  +             fail "Not an equality hypothesis with a variable on the LHS")
  +        | _ -> fail "Not an equality hypothesis"
           end))
   
  -let rename_to (b : binder) (s : string) : tac<unit> =
  +let rename_to (b : binder) (s : string) : tac<unit> = wrap_err "rename_to" <|
       bind (cur_goal ()) (fun goal ->
       let bv, _ = b in
       let bv' = freshen_bv ({ bv with ppname = mk_ident (s, bv.ppname.idRange) }) in
       let s = [NT (bv, S.bv_to_name bv')] in
       match subst_goal bv bv' s goal with
  -    | None -> fail "rename_to: binder not found in environment"
  +    | None -> fail "binder not found in environment"
       | Some goal -> replace_cur goal)
   
  -let binder_retype (b : binder) : tac<unit> =
  +let binder_retype (b : binder) : tac<unit> = wrap_err "binder_retype" <|
       bind (cur_goal ()) (fun goal ->
       let bv, _ = b in
       match split_env bv goal.context with
  -    | None -> fail "binder_retype: binder is not present in environment"
  +    | None -> fail "binder is not present in environment"
       | Some (e0, bvs) -> begin
           let (ty, u) = U.type_u () in
           bind (new_uvar "binder_retype" e0 ty) (fun t' ->
  
positive.code:         ret <| Tv_FVar fv
  
      | Tm_app (hd, []) ->
          failwith "inspect: empty arguments on Tm_app"
  
      | Tm_app (hd, args) ->
          // We split at the last argument, since the term_view does not
  
negative.code:     add_goals [{g with goal_ty = gt'}]))))
  
  
  let pointwise (d : direction) (tau:tac<unit>) : tac<unit> = wrap_err "pointwise" <|
      bind get (fun ps ->
      let g, gs = match ps.goals with
                  | g::gs -> g, gs
                  | [] -> failwith "no goals"
      in
      let gt = g.goal_ty in
      log ps (fun () ->
  