anchor.diff:              let r = Range.union_ranges hd.p tl.p in
               pos_r r <| Pat_cons(S.lid_as_fv C.cons_lid delta_constant (Some Data_ctor), [(hd, false);(tl, false)])) pats
                           (pos_r (Range.end_range p.prange) <| Pat_cons(S.lid_as_fv C.nil_lid delta_constant (Some Data_ctor), [])) in
  -        let x = S.new_bv (Some p.prange) tun in
  +        let x = S.new_bv (Some p.prange) (tun_r p.prange) in
           loc, env, LocalBinder(x, None), pat, annots
   
         | PatTuple(args, dep) ->
  
positive.code: 
        | PatWild aq ->
          let aq = trans_aqual env aq in
          let x = S.new_bv (Some p.prange) tun in
          loc, env, LocalBinder(x, aq), pos <| Pat_wild x, []
  
        | PatConst c ->
          let x = S.new_bv (Some p.prange) tun in
          loc, env, LocalBinder(x, None), pos <| Pat_constant c, []
  
        | PatTvar(x, aq)
  
negative.code:               | None -> []
                | Some l -> List.map (desugar_term env) l
              in
              mk_lb (attrs, lbname, setpos tun, body, pos), aq
          in
          let lbs, aqss =
              List.map2 (desugar_one_def (if is_rec then env' else env)) fnames funs
  