anchor.diff:                    Term.mkApp(t', cvars |> List.map mkFreeV), []
   
                   | None ->
  -                  let tsym = varops.fresh "Tm_arrow" in
  +                  let tsym = varops.mk_unique ("Tm_arrow_" ^ (Util.digest_of_string tkey.hash)) in
                     let cvar_sorts = List.map snd cvars in
                     let caption =
                       if Options.log_queries()
  
positive.code:       | Tm_uvar (uv, k) ->
          let ttm = Term.mk_Term_uvar (Unionfind.uvar_id uv) in
          let t_has_k, decls = encode_term_pred None k env ttm in //TODO: skip encoding this if it has already been encoded before
          let d = Term.Assume(t_has_k, Some "Uvar typing", Some (varops.fresh (Util.format1 "@uvar_typing_%s" (Util.string_of_int <| Unionfind.uvar_id uv)))) in
          ttm, decls@[d]
  
        | Tm_app _ ->
  
negative.code:      new_fvar=new_fvar;
       fresh=fresh;
       string_const=string_const;
       next_id=next_id;
       mk_unique=mk_unique}
  
   let unmangle (x:bv) : bv = {x with ppname=Util.unmangle_field_name x.ppname}
  (* ---------------------------------------------------- *)
  