anchor.diff:  
           sw.Stop()
           batchWriteTime.Record(sw.ElapsedMilliseconds, TimeUnit.Milliseconds)
  +    }
  +
  +    let writeBatch _ (docs : seq<BatchWrite>) = async {
  +        let maxWriteSize = 100
  +        let writeGroups = 
  +            docs
  +            |> Seq.zip (Seq.initInfinite id)
  +            |> Seq.groupBy (fun (i,d) -> i / maxWriteSize)
  +
  +        for (_, w) in writeGroups do
  +            do! writeDocs (w |> Seq.map snd)
       }
   
       let writeQueue = 
  
positive.code:     let batchWritesMeter = Metric.Meter(sprintf "BatchWrites %s" databaseName, Unit.Items)
      let batchConflictsMeter = Metric.Meter(sprintf "BatchConflicts %s" databaseName, Unit.Items)
  
      let writeBatch _ docs = async {
          let sw = System.Diagnostics.Stopwatch.StartNew()
          let batchId = Guid.NewGuid()
          let originalDocMap = 
  
negative.code:    
      member x.WaitAll = queue.AsyncComplete
  
      member x.StartWork () = 
          writeQueue.StartWork()
          queue.StartWork()