anchor.diff:              if isEqOverlap then
                 let appC = appendMap.GetCursor();
                 if appC.MoveAt(this.Last.Key, Lookup.GT) then
  -                this.AddLast(appC.CurrentKey, appC.CurrentValue) // TODO Add last when fixed flushing
  +                this.AddUnchecked(appC.CurrentKey, appC.CurrentValue) // TODO Add last when fixed flushing
                   let mutable c = 1
                   while appC.MoveNext() do
  -                  this.AddLast(appC.CurrentKey, appC.CurrentValue) // TODO Add last when fixed flushing
  +                  this.AddUnchecked(appC.CurrentKey, appC.CurrentValue) // TODO Add last when fixed flushing
                     c <- c + 1
                   c
                 else 0
  
positive.code:             let mutable c = 0
              for i in appendMap do
                c <- c + 1
                this.AddLast(i.Key, i.Value) // TODO Add last when fixed flushing
              c
          | AppendOption.IgnoreEqualOverlap ->
            if this.IsEmpty || comparer.Compare(appendMap.First.Key, this.Last.Key) > 0 then
              let mutable c = 0
              for i in appendMap do
                c <- c + 1
                this.AddLast(i.Key, i.Value) // TODO Add last when fixed flushing
              c
            else
              let isEqOverlap = hasEqOverlap this appendMap
              if isEqOverlap then
                let appC = appendMap.GetCursor();
                if appC.MoveAt(this.Last.Key, Lookup.GT) then
                  this.AddLast(appC.CurrentKey, appC.CurrentValue) // TODO Add last when fixed flushing
                  let mutable c = 1
                  while appC.MoveNext() do
                    this.AddLast(appC.CurrentKey, appC.CurrentValue) // TODO Add last when fixed flushing
                    c <- c + 1
                  c
                else 0
  
negative.code:       finally
          exitWriteLockIf &this.state.source.locker entered
        
      member this.Dispose() = this.Dispose(true)
      member this.Dispose(disposing:bool) = 
        this.state.Reset()
        if this.onUpdateHandler <> Unchecked.defaultof<_> then
          Interlocked.Decrement(&this.state.source.subscribersCounter) |> ignore
  