anchor.diff:    (let ((p0 (car (grammar-productions grammar))))
       (assert (= 1 (length (production-derives p0))))
       (let ((kernels '()))
  -      (declare (optimize speed))
  +      (declare (optimize (speed 3) (space 0)))
         (labels
             ((add-goto (kernel symbol)
                (let* ((new-kernel*
  
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:   (subseq (item-derives item) 0 (item-position item)))
  
  (defun item-dot-right (item &optional (n 0))
    (declare (type signed-index n) #+CMU (optimize ext:inhibit-warnings))
    (nthcdr (+ n (item-position item)) (item-derives item)))
  
  (defun item-shift (item &optional (n 1))
  