anchor.diff:    ;; Classify parameters without checking their validity individually.
     (multiple-value-bind (required optional restp rest keyp keys allowp auxp aux)
         (parse-lambda-list-like-thing lambda-list)
  -
       ;; Check validity of parameters.
       (flet ((need-symbol (x why)
                (unless (symbolp x)
  
positive.code:             (t
               (error "&KEY parameter is not a symbol or cons: ~S"
                      i))))))
  
      ;; Voila.
      (values required optional restp rest keyp keys allowp auxp aux)))
  
  
negative.code:         (if (memq x lambda-list-keywords)
              (case x
                (&optional         (setf state 'optional))
                (&rest             (setf state 'rest restp t))
                (&key              (setf state 'key  keysp t))
                (&allow-other-keys (setf allow-other-keys-p t))
                (&aux              (return))
                (otherwise
                 (error "encountered the non-standard lambda list keyword ~S" x)))
              (ecase state
  