anchor.diff:                      doc.Value <- doc.Value + value
                   else
                       doc.Value <- doc.Value - value
  -
  -            let metadata = new Raven.Json.Linq.RavenJObject()
  -            metadata.Add("Raven-Entity-Name", new RavenJValue("MyCountingDocs"))
   
               let writeRequests =
                   {
  
positive.code:                     return None
                  else
                      let etag = session.Advanced.GetEtagFor(doc)
                      return Some (doc,etag)
              }
  
      let getPromise () =
  
negative.code:             let buildNewDoc () =
                  let newDoc = new MyCountingDoc()
                  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! (doc, metadata, etag) = 
                  getDocument docKey documentStore cache
                  |> Async.map (Option.getOrElseF buildNewDoc)
  
  