anchor.diff:              )
             ) |> ignore
             { 
  -            new Object() with
  -              member x.Finalize() = (x :?> IDisposable).Dispose()
  -            interface IDisposable with
  +          // NB finalizers should be only in types that are actually keeping some resource
  +          //  new Object() with
  +          //    member x.Finalize() = (x :?> IDisposable).Dispose()
  +            new IDisposable with
                 member x.Dispose() = cts.Cancel();cts.Dispose();
             }
         finally
  
positive.code:             yield c.CurrentValue
          }
  
      override x.Finalize() =
        try
          for v in c.Values do
            try
              v.Dispose()
            with
            | :? ObjectDisposedException -> ()
          c.Dispose()
        with
        | :? ObjectDisposedException -> ()
        
  
      interface IEnumerable<KeyValuePair<'K, 'V>> with
  
negative.code:   Series<'K,'V>() as this =
      inherit Series()
      
      let c = Lazy(this.GetCursor) //new ThreadLocal<_>(Func<_>(this.GetCursor), true) 
  
      [<NonSerializedAttribute>]
      [<DefaultValueAttribute>]
  