anchor.diff:                      let memo = BU.mk_ref None in
                       let rec_env = (None, Clos(env, fix_f_i, memo, true))::rec_env in
                       rec_env, memo::memos, i + 1) (snd lbs) (env, [], 0) in
  -            let _ = List.map2 (fun lb memo -> memo := Some (cfg, (rec_env, lb.lbdef))) (snd lbs) memos in //tying the knot
  +            let _ = List.map2 (fun lb memo -> memo := Some (rec_env, lb.lbdef)) (snd lbs) memos in //tying the knot
               let body_env = List.fold_right (fun lb env -> (None, Clos(rec_env, lb.lbdef, BU.mk_ref None, false))::env)
                                  (snd lbs) env in
               norm cfg body_env stack body
  
positive.code: type stack_elt =
   | Arg      of closure * aqual * Range.range
   | UnivArgs of list<universe> * Range.range
   | MemoLazy of cfg_memo<(env * term)>
   | Match    of env * branches * cfg * Range.range
   | Abs      of env * binders * env * option<residual_comp> * Range.range //the second env is the first one extended with the binders, for reducing the option<lcomp>
   | App      of env * term * aqual * Range.range
  
negative.code:                   rebuild cfg env_arg stack t
               else let stack = App(env, t, aq, r)::stack in
                    norm cfg env_arg stack tm
          else begin match !m with
            | None ->
              if cfg.steps.hnf && not (is_partial_primop_app cfg t)
              then let arg = closure_as_term cfg env_arg tm in
  