anchor.diff:        (return t))))
   
   (defun add-pick-choice (module message category choices)
  +  (when (find #\, category)
  +    (reply-to message "~a: Categories may not have commas in their names." (source message))
  +    (return-from add-pick-choice))
  +  
     (let ((bad-choices (remove-if-not (lambda (choice)
                                         (find-reference-cycles (catalog-of module) category choice))
                                       choices)))
  
positive.code: .pick --add category <choice> - adds option to category
  .pick --del category <choice> - removes option from category
  "
    (multiple-value-bind (addp delp showp category choices)
        (parse-pick-args args)
      (cond
       ((and category (find #\, category))
        (reply-to message "~a: Categories may not have commas in their names." (source message)))
       (addp
        (add-pick-choice module message category choices))
       (delp
        (del-pick-choice module message category choices))
       (showp
        (if category
            (let ((terms (lookup-category (catalog-of module) category)))
              (if terms
                  (reply-to message "Picks in category ~a: ~{~a~^, ~}" category terms)
                  (reply-to message "~a is not a category." category)))
            (reply-to message "Pick categories: ~{~a~^, ~}"
                      (mapcar #'first (catalog-of module)))))
       ((endp choices)
            (reply-to message "Pick categories: ~{~a~^, ~}"
                      (mapcar #'first (catalog-of module))))
       ((and (null (rest choices))
             (endp (lookup-category (catalog-of module) (first choices))))
        ;; if there's only one choice given, it must be a category.
        (reply-to message "~a is not a category." (first choices)))
       (t
        ;; otherwise, pick from categories and expand.
        (let ((choice (random-elt choices)))
          (loop for terms = (lookup-category (catalog-of module) choice)
             while terms do
               (setf choice (random-elt terms)))
          (reply-to message "~a: I pick ~a!" (source message) choice))))))
  
negative.code: 
         (save-pick-catalog module)))))
  
  (defmethod handle-command ((module pick-module)
                             (cmd (eql 'pick))
                             message raw-args)
    ".pick <choice>, <choice> [,<choice>...] ) - selects randomly between choices
  .pick - lists categories from which to pick
  .pick <category> - selects random option in category
  