anchor.diff:  /// 
   /// If the new edits are *not* allowed (to push existing revisions instead of creating new ones) the response will not include entries for any of the successful revisions (since their rev IDs are already known to the sender), only for the ones that had errors. Also, the `"conflict"` error will never appear, since in this mode conflicts are allowed. 
   /// </summary>
  -let bulkInsert mode (docs: 'a list) props = 
  +let bulkInsert mode (docs: InsertedDocument<_> list) props = 
       let qs = 
           match mode with 
           | AllowNewEdits -> Map.ofSeq ["new_edits", true :> obj]
  
positive.code: 
  let password password config = { config with password = Some password }
  
  let idField name props = { props with id = name }
  
  let revField name props = { props with rev = name }
  
  let converter converter props = { props with converter = converter }
  
  let warning handler (props: CouchProps) = 
      Event.add handler props.onWarning.Publish
      props
  
  let mapDoc (fn: Document) (computation: Async<string>) = 
      // This will receive the async task from e.g. `get`, plus accept an arbitrary function that will
      // receive a (typeName: string -> jtoken -> useDefaultDeserializer: unit -> 'a)
      ""
  
  let mapDocList (fn: DocumentList) (computation: Async<string>) = 
      ""
  
  let getRaw id rev = 
      request id
  
negative.code: module Davenport.Fsharp
  
  open Davenport.Infrastructure
  open Davenport.Converters
  open Davenport.Types
  open Newtonsoft.Json.Linq
  
  let private defaultProps =  
      { username = None 
        password = None 
        converter = FsConverter()
        databaseName = ""
        couchUrl = ""
        onWarning = Event<string>() }
  
  let database name couchUrl =
  