anchor.diff:                      return None
                   else
                       let etag = session.Advanced.GetEtagFor(doc)
  -                    return Some (doc,etag)
  +                    let metadata = session.Advanced.GetMetadataFor(doc)
  +                    return Some (doc, metadata, etag)
               }
   
       let getPromise () =
  
positive.code:             let buildNewDoc () =
                  let newDoc = new MyCountingDoc()
                  let etag = Raven.Abstractions.Data.Etag.Empty
                  (newDoc, etag)
  
              let! (doc, etag) = 
                  getDocument docKey documentStore cache
                  |> Async.map (Option.getOrElseF buildNewDoc)
  
  
negative.code:                     doc.Value <- doc.Value + value
                  else
                      doc.Value <- doc.Value - value
  
              let writeRequests =
                  {
  