anchor.diff:      let tm' = maybe_simplify_aux cfg env stack tm in
       if Env.debug cfg.tcenv <| Options.Other "380"
       then BU.print3 "%sSimplified\n\t%s to\n\t%s\n"
  -                   (if List.contains Simplify cfg.steps then "" else "NOT ")
  +                   (if cfg.steps.simplify then "" else "NOT ")
                      (Print.term_to_string tm) (Print.term_to_string tm');
       tm'
   
  
positive.code:                 | Univ _ -> failwith "Impossible: term variable is bound to a universe"
                  | Dummy -> failwith "Term variable not found"
                  | Clos(env, t0, r, fix) ->
                     if not fix || not (List.contains (Exclude Zeta) cfg.steps)
                     then match !r with
                          | Some (env, t') ->
                              log cfg  (fun () -> BU.print2 "Lazy hit: %s cached to %s\n" (Print.term_to_string t) (Print.term_to_string t'));
  
negative.code:                 (Print.term_to_string scrutinee)
                  (branches |> List.map (fun (p, _, _) -> Print.pat_to_string p) |> String.concat "\n\t"));
        // If either Weak or HNF, then don't descend into branch
        let whnf = cfg.steps.weak || cfg.steps.hnf in
        let cfg_exclude_iota_zeta =
          let new_delta =
            cfg.delta_level |> List.filter (function
  