anchor.diff:          let instance = factory()
           Interlocked.Increment(&itemCount) |> ignore
           instance
  +    
       do 
           for i = 1 to poolSize do
               pool.Enqueue(createNewItem())
  
positive.code:         match pool.TryDequeue() with
          | true, a -> a
          | _ -> createNewItem()
  
      /// Release an instance of 'T
      member this.Release(instance : 'T) =
          // Ignore the failed item as it wasn't released successfully
          if onRelease(instance) then
              pool.Enqueue(instance)
  
  [<AutoOpen>]
  module Pools =
      open System.Collections.Generic
      open System
  
      /// A reusable dictionary pool
      let dictionaryPool = 
          let initialCapacity = 50
          let itemsInPool = 300
          let factory () = new Dictionary<string, string>(initialCapacity, StringComparer.OrdinalIgnoreCase)
          let onRelease(dict : Dictionary<string, string>) = dict.Clear(); true
          new SimpleObjectPool<Dictionary<string, string>>(factory, itemsInPool, onRelease)     
  
negative.code: //  You must not remove this notice, or any other, from this software.
  // ----------------------------------------------------------------------------
  namespace FlexSearch.Core
  
  open System
  open System.Collections.Concurrent
  open System.Threading
  