anchor.diff:  (defun rolep (maybe-role)
     (typep maybe-role 'role))
   
  +(declaim (ftype (function (reply fixnum) role) make-role)
  +         (ftype (function (role) reply) role-reply)
  +         (ftype (function (role) fixnum) role-position)
  +         (inline make-role role-reply role-position))
  +
   (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))
  
positive.code: ;;;
  ;;; Reply definition
  ;;;
  (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
  
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)
  