anchor.diff:                   in
                    let modul, env = Tc.check_module tcenv fmod (is_some pre_fn) in
                    //AR: encode the module to to smt
  +                 maybe_restore_opts ();
                    let smt_decls =
                      if (not (Options.lax()))
                      then let smt_decls = FStar.SMTEncoding.Encode.encode_modul env modul in
  
positive.code:    * AR: smt encode_modul functions are now here instead of in Tc.fs
     *     this is common smt postprocessing for fresh module and module read from cache
     *)
    let post_smt_encoding (_:unit) :unit =
      FStar.SMTEncoding.Z3.refresh ();
      if not (Options.interactive ())
      then Options.restore_cmd_line_options true |> ignore
      else ()
    in
    let maybe_extract_mldefs tcmod env =
        if Options.codegen() = None
  
negative.code:                         (FStar.TypeChecker.Normalize.erase_universes tcenv)
              in
              let env = FStar.TypeChecker.Tc.load_checked_module tcenv tcmod in
              maybe_restore_opts ();
              //AR: encode smt module and do post processing
              if (not (Options.lax())) then begin
                FStar.SMTEncoding.Encode.encode_modul_from_cache env tcmod.name smt_decls;
  