anchor.diff:  
   
   let encode_top_level_val uninterpreted env lid t quals =
  -    let tt = norm env t in
  +    let tt = norm_before_encoding env t in
   //        if Env.debug env.tcenv <| Options.Other "SMTEncoding"
   //        then Printf.printf "Encoding top-level val %s : %s\Normalized to is %s\n"
   //            (Print.lid_to_string lid)
  
positive.code: 
      | Sig_datacon(d, _, t, _, n_tps, _) ->
          let quals = se.sigquals in
          let formals, t_res = U.arrow_formals t in
          let arity = List.length formals in
          let ddconstrsym, ddtok, env = new_term_constant_and_tok_from_lid env d arity in
  
negative.code:      | Sig_assume(l, us, f) ->
          let uvs, f = SS.open_univ_vars us f in
          let env = { env with tcenv = Env.push_univ_vars env.tcenv uvs } in
          let f = norm_before_encoding env f in
          let f, decls = encode_formula f env in
          let g = [Util.mkAssume(f, Some (BU.format1 "Assumption: %s" (Print.lid_to_string l)), (varops.mk_unique ("assumption_"^l.str)))]
                  |> mk_decls_trivial in
  