anchor.diff:          do! loop ()
       }
   
  -    let queue = new WorktrackingQueue<Guid, Guid * int>(fst >> Set.singleton, processEvent, 10000, 10);
  +    let queue = new WorktrackingQueue<Guid, Guid * (obj -> unit)>(fst >> Set.singleton, processEvent, 10000, 10);
   
       member x.Enqueue key value =
          queue.Add (key,value)
  
positive.code: 
          let myEvents = (streams, streamValues) |> Seq.unfold generateStream
  
          seq {
              yield async {
                  for (key,value) in myEvents do
                      do! projector.Enqueue key value
                  do! projector.WaitAll()
              }
  
  
negative.code:                 getDocument docKey documentStore cache
                  |> Async.map (Option.getOrElseF buildNewDoc)
  
              doc.Writes <- doc.Writes + 1
              for (_, processEvent) in values do
                  processEvent (doc :> obj)
  
              let (complete, wait) = getPromise()
                  
              let writeRequests =
                  {
                      DocumentKey = docKey
  