anchor.diff:  (* guards the recursively bound names with a termination check                                              *)
   (************************************************************************************************************)
   let guard_letrecs env actuals expected_c : list<(lbname*typ)> =
  -    if not (Env.should_verify env) then env.letrecs else
  +    //if not (Env.should_verify env) then env.letrecs else -- AR: don't see harm in guarding letrecs even in lax mode ... 2 phase gives an error with this (unless we normalize after phase 1)
       match env.letrecs with
       | [] -> []
       | letrecs ->
  
positive.code:                 in
  
                  let envbody, bs, g, c = check_actuals_against_formals env bs bs_expected in
                  let envbody, letrecs = if Env.should_verify env then mk_letrec_env envbody bs c else envbody, [] in
                  let envbody = Env.set_expected_typ envbody (U.comp_result c) in
                  Some t, bs, letrecs, Some c, None, envbody, body, g
  
  
negative.code:                   ignore <| Rel.discharge_guard env g;
                    norm env0 t) in
          let env = if termination_check_enabled lb.lbname e t
                    //&& Env.should_verify env (* store the let rec names separately for termination checks *)  -- AR: commenting as part of guarding letrecs even in lax mode
                    then {env with letrecs=(lb.lbname,t)::env.letrecs}
                    else Env.push_let_binding env lb.lbname ([], t) in //no polymorphic recursion on universes
          let lb = {lb with lbtyp=t; lbunivs=univ_vars; lbdef=e} in
  