anchor.diff:              let h = str_to_top_name ("FStar_Tactics_Interpreter.mk_tactic_interpretation_" ^ string_of_int arity) in
               let tac_fun = w <| MLE_App (str_to_top_name ("FStar_Tactics_Native.from_tactic_" ^ string_of_int arity), [lid_to_top_name fv]) in
               let tac_lid_app = w <| MLE_App (str_to_top_name "FStar_Ident.lid_of_str", [w ml_fv]) in
  -            let psc = w <| str_to_name "psc" in
  -            let args = w <| str_to_name "args" in
  +            let psc = str_to_name "psc" in
  +            let args = str_to_name "args" in
               let args =
                   [w <| MLE_Const (MLC_Bool true); //trigger a TAC?.reflect
                    tac_fun] @
                   arg_unembeddings @
  -                [res_embedding.to_term;
  -                 w <| mk_tac_param_type tcenv result_typ;
  +                [res_embedding.embed;
  +                 res_embedding.type_repr;
                    tac_lid_app;
                    psc;
                    args] in
  
positive.code:     in
      let tvar_context = List.mapi (fun i tv -> Some <| id_embedding ("tv_" ^ string_of_int i)) type_vars in
      aux [] tvar_context bs
  //
  //(*
  //  Given:
  
negative.code:     let rec aux accum_embeddings env bs =
          match bs with
          | [] ->
            let arg_unembeddings = List.rev accum_embeddings |> List.map (fun x -> x.unembed) in
            let res_embedding = mk_embedding env result_typ in
            if U.is_pure_comp c
            then begin
              let embed_fun_N = mk_basic_embedding Embed ("arrow_" ^ string_of_int arity) in
              let args = arg_unembeddings @ [res_embedding.embed; lid_to_top_name fv] in
              Some (mk_lam "_" (w <| MLE_App(embed_fun_N, args)),
                    arity,
                    true)
  