anchor.diff:                    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
  +        else begin match read_memo cfg 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
  
positive.code:                 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)
                        env s in
                  norm cfg env stack (guard_when_clause wopt b rest)
          in
  
negative.code:                    let stack =
                       stack |>
                       List.fold_right (fun (a, aq) stack ->
                         Arg (Clos(env, a, BU.mk_ref (Some (cfg, ([], a))), false),aq,t.pos)::stack)
                       norm_args
                     in
                     log cfg  (fun () -> BU.print1 "\tPushed %s arguments\n" (string_of_int <| List.length args));
  