anchor.diff:    (error 'illegal-lambda-list :lambda-list lambda-list))
   
   (defun parse-lambda-list (lambda-list visitor &key macro)
  +  ;; TODO finish macro lambda list parsing
     (declare (optimize (speed 3))
              (type list lambda-list)
              (type (or symbol function) visitor))
  
positive.code:              (done))
             (case (first args)
               (&key               (entering-&key))
               ((&whole &optional &rest &allow-other-keys) (fail))
               (&aux               (entering-&aux))
               (t                  (fail))))
           (entering-&optional ()
  
negative.code:            (unless args
               (done))
             (case (first args)
               ((&whole &optional &key &environment &allow-other-keys &aux &body) (fail))
               (t
                (let ((arg (ensure-list (pop args))))
                  (funcall visitor '&aux (first arg) arg))
  