anchor.diff:      allDocsRaw includeDocs options props 
       |> asyncMap (stringToDocumentList props.converter)
   
  -let create document props = 
  +let create (document: InsertedDocument<'a>) props = 
       request "" props
       |> body document
       |> send Post
       |> asyncMap (stringToPostPutCopyResponse props.converter)
   
  -let createWithId id document props = 
  +let createWithId id (document: InsertedDocument<'a>) props = 
       request id props
       |> body document 
       |> send Put
       |> asyncMap (stringToPostPutCopyResponse props.converter)
   
  -let update id rev document props = 
  +let update id rev (document: InsertedDocument<'a>) props = 
       request id props
       |> querystring (mapFromRev rev)
       |> body document
  
positive.code: /// </summary>
  let reduce designDocName viewName options props = 
      reduceRaw designDocName viewName options props
      |> asyncMap (stringToReduction props.converter)
  
  let findRaw selector findOptions =
      let data = 
  
negative.code: 
  let password password config = { config with password = Some password }
  
  let converter converter props = 
      failwith "TODO: Use the converter.CanConvert function to check that the converter implements all necessary conversions."
      { props with converter = converter }
  
  let warning handler (props: CouchProps) = 
      Event.add handler props.onWarning.Publish
      props
  
  let getRaw id rev = 
      request id
  