anchor.diff:      (print-docs-for-term :type what)
       (format T "~%-------------~%")))
   
  +(defun document-key-term (doc)
  +  (etypecase doc
  +    (montezuma:document
  +        (make-term :id (doc-value doc :id)))))
  +
  +(defun get-name (package)
  +  (typecase package
  +    (null "")
  +    (package (package-name package))
  +    (t package)))
  +
   (defun cl-doc-key (package name type)
     (format nil "~A:~A:~A"
  -          (typecase package
  -            (package (package-name package))
  -            (t package))
  -          name type))
  +          (get-name package)
  +          (get-name name)
  +          (get-name type)))
   
   (defun cl-doc-key-term (package name type)
     (make-term :id (cl-doc-key package name type)))
  
positive.code:   (when docs
      (doc-with-fields
       (make-field :id (cl-doc-key package thing type) nil)
       (make-field :name thing)
       (make-field :type type nil)
       (make-field :package package nil)
       (make-field :documentation docs))))
  
negative.code:               (package-for-name (second name))
                (error "No idea how to make package for name:~A" name)))))
  
  (defun index-package (package-name &optional (index-contents? t))
    "Add package documentation and docs for all public symbols to the index"
    (let ((package (find-package package-name)))
      (add-to-index package :package nil)
      (when index-contents?
        (iter (for what in manifest::*categories*)
          (iter (for name in (manifest::names package what))
            (for name-package = (package-for-name name))
            (add-to-index name what name-package))))
      ))
  
  (defun index-packages (&key
  