anchor.diff:    (setf (item-lookaheads (kernel-item (car kernels))) (list 'eof))
     (let ((previously-changed kernels)
           (changed '()))
  -    (declare (optimize speed))
  +    (declare (optimize (speed 3) (space 0)))
       (loop
        (dolist (kernel kernels)
  -       (when (member kernel previously-changed :test #'eq)
  +       (when (memq kernel previously-changed)
            (let ((lookaheads (compute-lookaheads kernel grammar)))
  +           (declare (list lookaheads))
              (dolist (goto (kernel-gotos kernel))
                (declare (type goto goto))
                (let ((target (goto-target goto)) (new nil))
  
positive.code:                     (new-goto (and new-kernel
                                     (make-goto symbol new-kernel))))
                 (when new-kernel
                   (unless (member new-kernel kernels :test #'eq)
                     (add-kernel new-kernel))
                   (unless (member new-goto (kernel-gotos kernel)
                                   :test #'goto-equal-p)
  
negative.code:            #:yacc-parse-error #:yacc-parse-error-terminal
             #:yacc-parse-error-value #:yacc-parse-error-expected-terminals)
    #+CMU
    (:import-from #:extensions #:required-argument #:memq)
    )
  
  (in-package #:yacc)
  
  #-CMU
  (defun required-argument () (error "A required argument was not supplied"))
  
  #-CMU
  (declaim (inline memq))
  
  #-CMU
  (defun memq (item list)
    "MEMBER :TEST #'EQ"
    (member item list :test #'eq))
  
  (deftype index () '(unsigned-byte 10))
  (deftype signed-index () '(signed-byte 11))
  