anchor.diff:  	(error "something is seriously wrong here"))
         result)))
   	
  -(defun parse-define-modify-macro-lambda-list (lambda-list processor processee)
  +(defun parse-define-modify-macro-lambda-list (lambda-list)
     (let ((allowed '(&optional &rest &body)))
  -    (check-lambda-list-proper lambda-list processor processee)
  -    (check-lambda-list-keywords lambda-list allowed processor processee)
  +    (check-lambda-list-proper lambda-list)
  +    (check-lambda-list-keywords lambda-list allowed)
       (let ((positions (compute-keyword-positions lambda-list allowed))
   	  (result (make-instance 'lambda-list)))
         (setf (required result)
  
positive.code: 
  ;;; FIXME: there is considerable code duplication between this one
  ;;; and the macro lambda list. 
  (defun parse-deftype-lambda-list  (lambda-list processor processee)
    (multiple-value-bind (length structure) (list-structure lambda-list)
      (when (eq structure :circular)
        (error 'lambda-list-must-not-be-circular
  
negative.code:       result)))
  
  (defun parse-define-method-combination-arguments-lambda-list
      (lambda-list)
    (let ((allowed '(&whole &optional &rest &body &key &allow-other-keys &aux)))
      (check-lambda-list-proper lambda-list)
      (check-lambda-list-keywords lambda-list allowed)
      (let ((positions (compute-keyword-positions lambda-list allowed))
  	  (result (make-instance 'lambda-list)))
        (setf (required result)
  