anchor.diff:                  else [NoDelta] in
               let cfg' = {cfg with steps=s; delta_level=delta_level} in
               let stack' =
  -              let tail = Steps (cfg.steps, cfg.primitive_steps, cfg.delta_level)::stack in
  +              let tail = (Cfg cfg)::stack in
                 if Env.debug cfg.tcenv <| Options.Other "print_normalized_terms"
                 then Debug(t, BU.now())::tail
                 else tail in
  
positive.code:     | App (_, t,_,_) -> BU.format1 "App %s" (Print.term_to_string t)
      | Meta (m,_) -> "Meta"
      | Let  _ -> "Let"
      | Steps (_, _, _) -> "Steps"
      | Debug (t, _) -> BU.format1 "Debug %s" (Print.term_to_string t)
      // | _ -> "Match"
  
  
negative.code:                           Some ({rc with residual_typ=rct})
                          | _ -> lopt in
                         log cfg  (fun () -> BU.print1 "\tShifted %s dummies\n" (string_of_int <| List.length bs));
                         let stack = (Cfg cfg)::stack in
                         let cfg = { cfg with strong = true } in
                         norm cfg env' (Abs(env, bs, env', lopt, t.pos)::stack) body
              end
  