anchor.diff:    (gethash key (terms spec)))
   
   (defun format-url (spec term)
  -  (format nil "~@[~a~]~a"
  -          (url-prefix spec)
  -          (url term)))
  +  (if (consp term)
  +      (format nil "Matches: ~{~a~^, ~}."
  +              (mapcar #'key term))
  +      (format nil "~@[~a~]~a"
  +              (url-prefix spec)
  +              (url term))))
   
   (defun lookup (spec term &key type)
     (let* ((spec (find-spec spec))
  
positive.code:                 wrap)))))
  
  (defun parse-terms (terms &key abbreviate)
    (let ((hash-table (make-hash-table :test #'equal)))
      (loop for term in terms
            do
            (destructuring-bind (key url &key type title) term
  
negative.code:                                      (abbrev key))))
                (setf (gethash key hash-table) term)
                (when abbreviation
                  (let ((existing (gethash abbreviation hash-table)))
                    (setf (gethash abbreviation hash-table)
                     (etypecase existing
                       (cons (cons term existing))
                       (null term)
                       (term (sort (list term existing)
                                   #'string> :key #'key)))))))))
      hash-table))
  
  (defun read-data (file)
  