anchor.diff:                         :lambda-list ',lambda-list
                          :participants (list ,@participants)
                          :documentation ,docstring
  -                       :function ,(make-reply-lambda name lambda-list ignorable body))))))
  +                       :function ,(make-reply-lambda name lambda-list ignorable
  +          #|| FIXME: This is such a kludge ||#       (append declarations body)))))))
   
   (defun make-reply-lambda (name lambda-list ignorable body)
     (with-gensyms (args next-erfun reply-function)
  
positive.code: ;;;
  
  ;;; Definition
  (defmacro defreply (name &rest defreply-args)
    (multiple-value-bind (qualifiers reply-ll docstring body)
        (parse-defreply defreply-args)
      (multiple-value-bind (parameters lambda-list participants required ignorable)
          (parse-specialized-lambda-list reply-ll)
        (declare (ignore parameters required))
  
negative.code:            (declare (inline ,reply-function))
             (apply #',reply-function ,args))))))
  
  (defun parse-defreply (whole &aux qualifiers current (body (cddr whole)))
    (loop
       (setf current (car body))
       (if (atom current) (push (pop body) qualifiers)
           (return
             (multiple-value-bind (real-body declarations docstring)
                 (parse-body (cdr body) :documentation t :whole whole)
               (values (nreverse qualifiers) current ; current = reply lambda list
                       declarations docstring real-body))))))
  
  ;;; Undefinition
  (defmacro undefreply (name &rest args)
  