anchor.diff:      (list (null collection))
       (hash-table (zerop (hash-table-count collection)))))
   
  -(defun empty-lr1-collection (collection)
  +(defun clear-lr1-collection (collection)
     (declare (type lr1-collection collection))
     (typecase collection
       (list '())
  
positive.code:     (dolist (e (nreverse df))
        (format stream "~S: ~S~%" (car e) (cdr e)))
      (format stream "~%")))
  
  (defun sequence-first-terminals (s grammar)
    (declare (list s) (type grammar grammar))
    (cond
      ((null s) '())
      (t (let ((sf (first-terminals (car s) grammar)))
           (if (derives-epsilon (car s) grammar)
               (union sf (sequence-first-terminals (cdr s) grammar))
               sf)))))
  
  (defun sequence-first (s grammar)
    "FIRST(s)."
  
negative.code:      collection)))
  
  (defun lr1-add-collection (items collection)
    "Add all the elements of ITEMS to COLLECTION."
    (declare (type lr1-collection items collection))
    (typecase items
      (list
  