anchor.diff:      let r_env = Env.set_range cfg.tcenv (S.range_of_fv f) in
       match Env.lookup_definition_qninfo cfg.delta_level f.fv_name.v qninfo with
          | None ->
  -         log cfg (fun () -> BU.print "Tm_fvar case 2\n" []) ;
  +         log cfg (fun () -> // printfn "delta_level = %A, qninfo=%A" cfg.delta_level qninfo;
  +                         BU.print "Tm_fvar case 2\n" []) ;
            rebuild cfg env stack t0
   
          | Some (us, t) ->
  
positive.code:  | Arg      of closure * aqual * Range.range
   | UnivArgs of list<universe> * Range.range
   | MemoLazy of memo<(env * term)>
   | Match    of env * branches * Range.range
   | Abs      of env * binders * env * option<residual_comp> * Range.range //the second env is the first one extended with the binders, for reducing the option<lcomp>
   | App      of env * term * aqual * Range.range
   | Meta     of S.metadata * Range.range
  
negative.code:             end
  
            | Tm_match(head, branches) ->
              let stack = Match(env, branches, cfg, t.pos)::stack in
              let cfg = { cfg with steps={cfg.steps with weak=true; hnf=true} } in
              norm cfg env stack head
  
            | Tm_let((b, lbs), lbody) when is_top_level lbs && cfg.steps.compress_uvars ->
  