anchor.diff:        | Tm_app _ ->
           let head, args_e = U.head_and_args t0 in
           (* if Env.debug env.tcenv <| Options.Other "SMTEncoding" *)
  -        (* then printfn "Encoding app head=%s, n_args=%d" (Print.term_to_string head) (List.length args_e); *)
  +        (* then BU.print2 "Encoding app head=%s, n_args=%s\n" (Print.term_to_string head) *)
  +        (*                                                    (string_of_int <| List.length args_e); *)
           begin
           match (SS.compress head).n, args_e with
           | _ when head_redex env head ->
  
positive.code:                              (Print.term_to_string t0)
                               (Print.term_to_string t))
  
        | Tm_lazy i -> encode_term (U.unfold_lazy i) env
  
        | Tm_bvar x ->
          failwith (BU.format1 "Impossible: locally nameless; got %s" (Print.bv_to_string x))
  
negative.code:         //
          // Actual encoding: `q ~> pack qv where qv is the view of q
          let tv = EMB.embed RE.e_term_view t.pos (R.inspect_ln qt) in
          if Env.debug env.tcenv <| Options.Other "SMTEncoding" then
              BU.print2 ">> Inspected (%s) ~> (%s)\n" (Print.term_to_string t0)
                                                      (Print.term_to_string tv);
          let t = U.mk_app (RD.refl_constant_term RD.fstar_refl_pack_ln) [S.as_arg tv] in
          encode_term t env
  
  