anchor.diff:       (ignore-errors
         (montezuma:get-document *cl-doc-index* idx)))))
   
  +(defun munge-index (doc-fn
  +                    &key
  +                      (include-packages? t)
  +                      (include-contents? t)
  +                      )
  +  (when include-packages?
  +    ;; handle packages
  +    (%docs-for-term :type :package doc-fn))
  +  
  +  (when include-contents?
  +    ;; handle package contents
  +    (iter
  +      (for p in (indexed-packages))
  +      (iter
  +        (for doc in (docs-for-term :package p))
  +        (funcall doc-fn doc)))))
  +
   (defun %docs-for-term (n v fn)
     (let* ((term (make-term n v))
            (docs (montezuma::term-docs-for (montezuma:reader *cl-doc-index*) term)))
  
positive.code:     (print-docs-for-term :type what)
      (format T "~%-------------~%")))
  
  (defun cl-doc-key (package name type)
    (format nil "~A:~A:~A"
            (typecase package
              (package (package-name package))
              (t package))
            name type))
  
  (defun cl-doc-key-term (package name type)
    (make-term :id (cl-doc-key package name type)))
  
negative.code:     (montezuma:add-document-to-index index new-doc)
      (montezuma:flush index)))
  
  (defun %delete-doc (doc)
    (etypecase doc
      (montezuma:document
          (montezuma:delete-document
           *cl-doc-index*
           (document-key-term doc)))))
  
  (defun ensure-in-index (thing type package
                          &key
                            (index *cl-doc-index*)
  