anchor.diff:                      (error "No next reply")
                       (funcall ,next-erfun (or cnr-args ,args)))))
            (declare (ignorable #'next-reply-p #'call-next-reply))
  -         (flet ((,reply-function ,(kludge-arglist lambda-list)
  -                  ;; C2MOP builds the declarations and block in DEFMETHOD
  -                  (declare (ignorable ,@ignorable))
  -                  (block ,(if (listp name) (cadr name) name) ,@body)))
  +         (flet ((,reply-function ,@(cdr lambda-expression)))
              (declare (inline ,reply-function))
              (apply #',reply-function ,args))))))
   
  
positive.code:   (ensure-reply reader
                  :lambda-list '(object)
                  :participants (list object)
                  :function (eval (make-reply-lambda reader '(object) ()
                                                     `((property-value object ',prop-name))))))
  
  (defun add-readers-to-object (readers prop-name object)
    (map nil (fun (add-reader-to-object _ prop-name object)) readers)
  
negative.code:                        :lambda-list ',lambda-list
                         :participants (list ,@participants)
                         :documentation ,docstring
                         :function ,(make-reply-lambda
                                     `(lambda ,(kludge-arglist lambda-list)
                                        (declare (ignorable ,@ignorable)) ,@declarations
                                        (block ,(if (listp name) (cadr name) name) ,@body))))))))
  
  (defun make-reply-lambda (lambda-expression)
    (with-gensyms (args next-erfun reply-function)
      `(lambda (,args ,next-erfun)
         (declare (ignorable ,next-erfun))
  