anchor.diff:  (defgeneric put-document (db id doc &key)
     (:documentation "Puts a document into DB, using ID.")
     (:method ((db database) id doc &key batch-ok-p)
  -    (handle-request (response db id :method :put :content doc
  +    (handle-request (response db (princ-to-string 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: (defgeneric copy-document (db from-id to-id &key)
    (:documentation "Copies a document's content in-database.")
    (:method ((db database) from-id to-id &key revision)
      (handle-request (response db from-id :method :copy
                                :additional-headers `(("Destination" . ,to-id))
                                :parameters `(,(when revision `("rev" . ,revision))))
        (:created response))))
  
negative.code: (defgeneric get-document (db id)
    (:documentation "Returns an CouchDB document from DB as an alist.")
    (:method ((db database) id)
      (handle-request (response db (princ-to-string id))
        (:ok response)
        (:not-found (error 'document-not-found :db db :id id)))))
  
  