anchor.diff:                  let env0 = env in
                   let env = List.fold_left
                         (fun env (bv, t) -> (Some (S.mk_binder bv),
  -                                           Clos([], t, BU.mk_ref (Some ([], t)), false))::env)
  +                                           Clos([], t, BU.mk_ref (Some (cfg, ([], t))), false))::env)
                         env s in
                   norm cfg env stack (guard_when_clause wopt b rest)
           in
  
positive.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
  
negative.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
  