anchor.diff:              else
                   doc.Value <- doc.Value - value
   
  +            (doc, metadata, etag)
  +
  +        let buildNewDoc (id : Guid) =
  +            let newDoc = new MyCountingDoc()
  +            newDoc.Id <- id
  +            let etag = Raven.Abstractions.Data.Etag.Empty
  +
  +            let metadata = new Raven.Json.Linq.RavenJObject()
  +            metadata.Add("Raven-Entity-Name", new RavenJValue("MyCountingDocs"))
  +
  +            (newDoc, metadata, etag)
  +
  +        let matcher (objEvent : obj) : DocumentHandlerSet<Guid,CurrentDoc> =
  +            match objEvent with
  +            | :? (Guid * int) as event ->
  +                let (key, value) = event
  +                
  +                let handler : DocumentHandler<CurrentDoc> =  processValue value
  +                let handlers = handler |> Seq.singleton
  +
  +                (key, handlers) |> Seq.singleton
  +            | _ -> Seq.empty
  +
  +        let processors = seq {
  +            yield {
  +                ProcessorKey = "Mine"
  +                GetDocumentKey = (fun (key:Guid) -> "MyCountingDocs/" + key.ToString())
  +                EventTypes = Seq.singleton typeof<int>
  +                Match = matcher
  +                NewDocument = buildNewDoc
  +            }
  +        }
  +
  +        let projector = new BulkRavenProjector(documentStore, processors)
  +
           seq {
               yield async {
                   for (key,value) in myEvents do
  -                    do! projector.Enqueue key (processValue value)
  +                    do! projector.Enqueue key value
                   do! projector.WaitAll()
               }
   
  
positive.code: 
          let myEvents = (streams, streamValues) |> Seq.unfold generateStream
  
          let processValue (value:int) (docObj:obj) =
              let doc = docObj :?> MyCountingDoc
              let isEven = doc.Count % 2 = 0
              doc.Count <- doc.Count + 1
              if isEven then
  
negative.code:             | None -> return ()
          }
  
  open Raven.Abstractions.Data
  
  type DocumentWriteRequest = {
      DocumentKey : string
      Document : Lazy<Raven.Json.Linq.RavenJObject>
  