anchor.diff:        dolly
         (eval (second item))))
   
  +;;; Message definition
   (defun ensure-message (&key name lambda-list participants body)
     (if (not (find-buzzword name nil))
         (error "There is no buzzword defined for ~S" name)
  
positive.code: 	(setf (fdefinition name) #'dispatch-message)
  	buzzword)))
  
  (defmacro defmessage (name lambda-list &body body)
    `(ensure-message
      :name ',name
      :lambda-list (extract-lambda-list ',lambda-list)
      :participants (extract-participants ',lambda-list)
      :body (block ,name ',body)))
  
  (defun extract-lambda-list (lambda-list)
    (mapcar #'extract-var-name lambda-list))
  (defun extract-var-name (item)
  
negative.code: ;;        push ancestor on ordering stack
  ;;      position := position + 1
  ;;  return most specific message-property
  
  (defun dispatch-message (selector &rest args)
    (apply (message-function `(find-most-specific-message ,selector ,@args)) args))
  