anchor.diff:  ;;;
   ;;; Reply definition
   ;;;
  +
  +;;; FIXME: I do lots of runtime computation on probably constant values.
  +;;;        Write me a compiler macro!
   (defun ensure-reply (name &key qualifiers lambda-list participants function (documentation ""))
     (let ((message (or (find-message name nil)
                        (warn 'automatic-message-creation :message-name name) ; Returns NIL
  
positive.code: (defun rolep (maybe-role)
    (typep maybe-role 'role))
  
  (defun make-role (reply position)
    (cons reply position))
  
  (declaim (ftype (function (role) reply) role-reply)
           (ftype (function (role) fixnum) role-position)
           (inline make-role role-reply role-position))
  
  (defun role-reply (role)
    (car role))
  
negative.code: 
  (defun available-replies (object)
    (delete-duplicates
     (append (%object-roles object)
             (mapcan 'available-replies
                     (object-parents object)))
     :test 'equal))
  
  (defun add-reader-to-object (reader prop-name object)
  