anchor.diff:                          (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;
  
positive.code:                  in
                   let modul, env = Tc.check_module tcenv fmod (is_some pre_fn) in
                   //AR: encode the module to to smt
                   let smt_decls =
                     if (not (Options.lax()))
                     then let smt_decls = FStar.SMTEncoding.Encode.encode_modul env modul in
  
negative.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 maybe_restore_opts () : unit =
      if not (Options.interactive ()) then
        Options.restore_cmd_line_options true |> ignore
    in
    let post_smt_encoding (_:unit) :unit =
      FStar.SMTEncoding.Z3.refresh ()
    in
    let maybe_extract_mldefs tcmod env =
        if Options.codegen() = None
  