anchor.diff:    (declare (list items) (type grammar grammar))
     (let ((res '()) (n 0)
           (threshold *items-closure-hash-threshold*))
  -    (declare (optimize speed))
  -    (declare (type (unsigned-byte 10) n) (type (or list hash-table) res))
  +    (declare (optimize (speed 3) (space 0)))
  +    (declare (type index n) (type (or list hash-table) res))
       (labels ((add (item)
                  (declare (type lr1-item item))
                  (unless (lr1-find item res)
  
positive.code:   "Compute the LR(1) lookaheads for all items in KERNEL."
    (declare (type kernel kernel) (type grammar grammar))
    (let ((res '()))
      (declare (optimize speed))
      (declare (list res))
      (dolist (i (kernel-items kernel))
        (let ((j (items-closure
                  (list
                   (make-lr1-item (item-production i) (item-position i)
                                  'propagate))
                  grammar)))
          (map-lr1-collection
           #'(lambda (item)
  
negative.code:                     (new-goto (and new-kernel
                                     (make-goto symbol new-kernel))))
                 (when new-kernel
                   (unless (memq new-kernel kernels)
                     (add-kernel new-kernel))
                   (unless (member new-goto (kernel-gotos kernel)
                                   :test #'goto-equal-p)
  