anchor.diff:      | Weak -> { fs with weak = true }
       | HNF -> { fs with hnf = true }
       | Primops -> { fs with primops = true }
  -    | Eager_unfolding ->  { fs with eager_unfolding = true }
  -    | Inlining ->  { fs with inlining = true }
  +    | Eager_unfolding -> fs // eager_unfolding is not a step
  +    | Inlining -> fs // not a step
       | NoDeltaSteps ->  { fs with no_delta_steps = true }
       | UnfoldUntil d -> { fs with unfold_until = Some d }
       | UnfoldOnly lids -> { fs with unfold_only = Some lids }
  
positive.code:     weak = false;
      hnf  = false;
      primops = false;
      eager_unfolding = false;
      inlining = false;
      no_delta_steps = false;
      unfold_until = None;
      unfold_only = None;
  
negative.code:     unascribe = false;
  }
  
  let fstep_add_one s fs =
      let add_opt x = function
          | None -> Some [x]
          | Some xs -> Some (x::xs)
      in
      match s with
      | Beta -> { fs with beta = true }
      | Iota -> { fs with iota = true }
      | Zeta -> { fs with zeta = true }
  