anchor.diff:  (defmessage put-document (db id doc &key)
     (:documentation "Puts a document into DB, using ID.")
     (:reply ((db =database=) id doc &key batch-ok-p)
  -    (handle-request (response (db-request db :uri id :method :put
  -                                          :content doc
  +    (handle-request (response (db-request db id :method :put :content doc
                                             :parameters (when batch-ok-p '(("batch" . "ok")))))
         ((:created :accepted) response)
         (:conflict (error 'document-conflict :id id :doc doc)))))
  
positive.code: (defun create-db (name &key (prototype =database=) (server =json-server=))
    "Creates a new CouchDB database. Returns a database object that can be used to operate on it."
    (let ((db (create prototype 'server server 'name name)))
      (handle-request (response (db-request db :method :put))
        (:created db)
        (:internal-server-error (error "Illegal database name: ~A" name))
        (:precondition-failed (error 'db-already-exists :uri (db-namestring db))))))
  
negative.code: (defmessage delete-db (db &key)
    (:documentation "Deletes a CouchDB database.")
    (:reply ((db =database=) &key)
      (handle-request (response (db-request db "" :method :delete))
        (:ok response)
        (:not-found (error 'db-not-found :uri (db-namestring db))))))
  
  (defmessage compact-db (db)
    (:documentation "Triggers a database compaction.")
    (:reply ((db =database=))
      (handle-request (response (db-request db "_compact" :method :post))
        (:accepted response))))
  
  (defmessage changes (db)
    (:documentation "Returns the changes feed for DB")
    (:reply ((db =database=))
      (handle-request (response (db-request db "_changes"))
        (:ok response))))
  
  ;;;
  