anchor.diff:    (:documentation "Triggers a database compaction.")
     (:method ((db database))
       (handle-request (response db "_compact" :method :post :content "")
  -      (:accepted response)
  -      #+nil(:bad-content-type (error "Bad content type.")))))
  +      (:accepted response))))
   
   (defgeneric changes (db)
     (:documentation "Returns the changes feed for DB")
  
positive.code:                                   &key (content nil contentp) &allow-other-keys)
    "This special :around reply wraps the standard SERVER reply and encodes/decodes JSON where
  appropriate, which makes for a nicer Lisp-side API."
    (when contentp
      (setf all-keys
            (append all-keys (list :content
                                   (with-output-to-string (s)
                                     (json:encode content s))))))
    (multiple-value-bind (response status-code)
        (apply #'call-next-method server uri all-keys)
      (values (json:parse response) status-code)))
  
  (defun all-dbs (server)
  
negative.code: (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 (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)))))
  