anchor.diff:  	(error "something is seriously wrong here"))
         result)))
   	
  -(defun parse-macro-lambda-list  (lambda-list processor processee)
  +(defun parse-macro-lambda-list  (lambda-list)
     (multiple-value-bind (length structure) (list-structure lambda-list)
       (when (eq structure :circular)
         (error 'lambda-list-must-not-be-circular
  
positive.code: 	(error "something is seriously wrong here"))
        result)))
  	
  (defun parse-define-modify-macro-lambda-list (lambda-list processor processee)
    (let ((allowed '(&optional &rest &body)))
      (check-lambda-list-proper lambda-list processor processee)
      (check-lambda-list-keywords lambda-list allowed processor processee)
      (let ((positions (compute-keyword-positions lambda-list allowed))
  	  (result (make-instance 'lambda-list)))
        (setf (required result)
  
negative.code:     (unless (null forbidden)
  	(error 'lambda-list-keyword-not-allowed
  	       :form lambda-list
  	       :keyword (car forbidden)))
      ;; Check for suspect keywords.
      (unless (null suspect)
        (warn 'suspect-lambda-list-keyword
  	    :form lambda-list
  	    :keyword (car suspect)))
      ;; Check for multiple occurrences.
      (loop for keyword in to-process
  	  do (when (> (count keyword to-process) 1)
  	       (error 'multiple-occurrences-of-lambda-list-keyword
  		      :form lambda-list
  		      :keyword keyword)))
      (when (> (+ (count '&body to-process) (count '&rest to-process)) 1)
        (error 'both-rest-and-body-occur-in-lambda-list
  	     :form lambda-list))
      ;; Check the order of keywords.
      (loop for rem = to-process then (cdr rem)
  	  until (null (cdr rem))
  