anchor.diff:      let d = match d with
           | [] -> [Env.NoDelta]
           | _ -> d in
  +    let steps = add_steps (cached_steps ()) psteps in
       {tcenv = e;
        debug = { gen = Env.debug e (Options.Other "Norm")
                ; top = Env.debug e (Options.Other "NormTop")
  
positive.code:      interpretation_nbe:(NBETerm.nbe_cbs -> NBETerm.args -> option<NBETerm.t>)
  }
  
  type cfg = {
       steps: fsteps;
       tcenv: Env.env;
       debug: debug_switches;
       delta_level: list<Env.delta_level>;  // Controls how much unfolding of definitions should be performed
       primitive_steps:BU.psmap<primitive_step>;
       strong : bool;                       // under a binder
       memoize_lazy : bool;
       normalize_pure_lets: bool;
  
negative.code:     let weak_steps   = List.map (as_primitive_step false) weak_ops in
      prim_from_list <| (strong_steps @ weak_steps)
  
  let equality_ops : prim_step_set =
      let interp_prop_eq2 (psc:psc) _norm_cb (args:args) : option<term> =
          let r = psc.psc_range in
          match args with
  