anchor.diff:                        (unless (member state '(:required :optional))
                           (error "misplaced &REST in lambda list: ~S" list))
                         (setq state :rest))
  -                     (&more
  -                      (unless (member state '(:required :optional))
  -                        (error "misplaced &MORE in lambda list: ~S" list))
  -                      (setq morep t
  -                            state :more-context))
                        (&key
                         (unless (member state
                                         '(:required :optional :post-rest :post-more))
  
positive.code:                     i))))))
  
      ;; Voila.
      (values required optional restp rest keyp keys allowp auxp aux
              morep more-context more-count)))
  
  (defun parse-specialized-lambda-list
      (arglist
  
negative.code:                (error "&REST without rest variable"))
  
               (values (required) (optional) restp rest keyp (keys) allowp auxp (aux)
                       (not (eq state :required))))))
  
  ;;; like PARSE-LAMBDA-LIST-LIKE-THING, except our LAMBDA-LIST argument
  