anchor.diff:                        let t_hyps, decls =
                           List.fold_left2 (fun (t_hyps, decls) (bv, _) e ->
                             let t = SS.subst subst bv.sort in
  -                          let _, t_hyp, decls' = encode_term_pred None t env e in
  +                          let t_hyp, decls' = encode_term_pred None t env e in
                             if Env.debug env.tcenv (Options.Other "PartialApp")
                             then BU.print2 "Encoded typing hypothesis for %s ... got %s\n"
                                            (Print.term_to_string t)
  
positive.code:                       let t_head_hyp, decls' =
                          match smt_head.tm with
                          | FreeV _ ->
                            let _, g, decls = encode_term_pred None head_type env smt_head in
                            g, decls
                          | _ ->
                            mkTrue, []
                        in
                        let hyp = Term.mk_and_l (t_head_hyp::t_hyps) Range.dummyRange in
                        let _, has_type_conclusion, decls'' =
                            encode_term_pred None ty env app_tm
                        in
                        let has_type = mkImp (hyp, has_type_conclusion) in
  
negative.code: 
  and encode_binders (fuel_opt:option<term>) (bs:Syntax.binders) (env:env_t) :
                              (list<fv>                       (* translated bound variables *)
                              * list<term>                    (* guards *)
                              * env_t                         (* extended context *)
                              * decls_t                       (* top-level decls to be emitted *)
  