anchor.diff:                           | Eager_unfolding_only -> true
                            | Unfold l -> Common.delta_depth_greater_than fv.fv_delta l)
                    in
  -                 let should_delta =
  -                     if not should_delta then false
  -                     else let attrs = Env.attrs_of_qninfo qninfo in
  +                 let should_delta = should_delta && (
  +                          let attrs = Env.attrs_of_qninfo qninfo in
                              // never unfold something marked tac_opaque when reducing tactics
                             (not cfg.steps.unfold_tac ||
                              not (cases (BU.for_some (attr_eq U.tac_opaque_attr)) false attrs)) &&
  
positive.code: 
      // GM: This is basically saying "if exclude iota, don't memoize".
      // what's up with that?
      if not cfg.steps.iota
      then if cfg.steps.hnf
           then let arg = closure_as_term cfg env_arg tm in
  
negative.code: 
  let firstn k l = if List.length l < k then l,[] else first_N k l
  let should_reify cfg stack = match stack with
      // TODO: we should likely ignore the meta-level stack elements, such as Memo
      | App (_, {n=Tm_constant FC.Const_reify}, _, _) :: _ ->
          // BU.print1 "Found a reify on the stack. %s" "" ;
          cfg.steps.reify_
  