anchor.diff:    (setf (buzzword-messages (find-buzzword (role-name role)))
   	(remove (message-pointer role) (buzzword-messages (find-buzzword (role-name role))))))
   
  +;; TODO: make a role factory thing
   (defun add-message-to-sheeple (name message sheeple)
     (let ((role-metasheep (buzzword-role-metasheep (find-buzzword name))))
       (loop 
          for sheep in sheeple
          for i upto (1- (length sheeple))
  -       do (push (clone (role-metasheep)
  -		       (name name)
  -		       (position i)
  -		       (message-pointer message))
  -		(sheep-direct-roles sheep)))))
  +       do (let ((role (clone (role-metasheep)
  +			(name name)
  +			(position i)
  +			(message-pointer message))))
  +		  (push role
  +			(sheep-direct-roles sheep))))))
   
   (defun undefine-message (&key name qualifiers participants)
     (remove-messages-with-name-qualifiers-and-participants name qualifiers participants))
  
positive.code:       "standard message metasheep"
        :cloneform ""))))
  
  (defparameter the-standard-role-metasheep-form
    '(clone ()
      ((name
        'standard-role-metasheep
        :cloneform 'standard-role)
       (position
        0
        :cloneform nil)
       (message-pointer
        nil
        :cloneform nil))))
  
  (defun message-name (message)
    (get-property message 'name))
  (defun (setf message-name) (new-value message)
  
negative.code:     (remove-messages-with-name-qualifiers-and-participants name qualifiers participants)
      (add-message-to-sheeple name message participants)))
  
  (defun ensure-message (name &rest all-keys
  		       &key
  		       qualifiers
  		       lambda-list
  		       participants
  		       function
  		       body
  		       (documentation ""))
    (when (not (find-buzzword name nil))
      (progn
        (warn 'style-warning)
        (ensure-buzzword
         name)))
    (let* ((buzzword (find-buzzword name))
  	 (target-sheeple (sheepify-list participants))
  	 (message (apply
  		   (if (eql (sheep-metasheep buzzword) =standard-buzzword-metasheep=)
  		       #'generate-sheep-standard-message
  		       #'generate-sheep)
  		   (buzzword-message-metasheep buzzword)
  		   :name name
  		   all-keys)))
      message))
  
  (defun add-message-to-buzzword (message buzzword)
  