anchor.diff:    (ensure-reply writer
                   :lambda-list '(new-value object)
                   :participants (list =t= object)
  -                :function (eval (make-reply-lambda writer '(new-value object) ()
  -                                                   `((setf (property-value object ',prop-name)
  -                                                           new-value))))))
  +                :function (eval (make-reply-lambda
  +                                 `(lambda (new-value object)
  +                                    (setf (property-value object ',prop-name) new-value))))))
   
   (defun add-writers-to-object (writers prop-name object)
     (map nil (fun (add-writer-to-object _ prop-name object)) writers)
  
positive.code:                        :lambda-list ',lambda-list
                         :participants (list ,@participants)
                         :documentation ,docstring
                         :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)
      `(lambda (,args ,next-erfun)
         (declare (ignorable ,next-erfun))
  
negative.code:   (ensure-reply reader
                  :lambda-list '(object)
                  :participants (list object)
                  :function (eval (make-reply-lambda
                                   `(lambda (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)
  