anchor.diff:  		       for participation in (sheep-direct-participations arg)
   		       when (and (eql selector (name participation))
   				 (eql index (role participation)))
  -		       do (pushnew (talent-pointer participation) discovered-talents)
  +		       do (pushnew (talent-pointer participation) 
  +				   discovered-talents)
   		       do (setf (elt (standard-talent-rank (talent-pointer participation)) index)
   				position)
   		       if (or (fully-specified-p (standard-talent-rank (talent-pointer participation)))
   			      (< (calculate-rank (standard-talent-rank (talent-pointer participation)))
   				 (calculate-rank (standard-talent-rank most-specific-talent))))
   		       do (setf most-specific-talent (talent-pointer participation)))
  -		    (loop 
  -		       for ancestor in (remove arg (compute-sheep-hierarchy-list arg))
  -		       do (push ancestor ordering-stack))
  -		    ))))
  +		    (add-ancestors-to-ordering-stack arg ordering-stack)))))
       (mapcar #'reset-talent-rank discovered-talents)
       most-specific-talent))
  +
  +(defun add-ancestors-to-ordering-stack (arg ordering-stack)
  +  (loop 
  +     for ancestor in (remove arg (compute-sheep-hierarchy-list arg))
  +     do (push ancestor ordering-stack)))
   
   (defun fully-specified-p (rank)
     (loop for item across rank
  
positive.code:     :accessor standard-talent-body)
     (function
      :initarg :function
      :accessor standard-talent-function)
     (rank
      :initarg :rank
      :initform (vector nil)
      :accessor standard-talent-rank))
    (:metaclass sb-mop:funcallable-standard-class))
  
  (defclass standard-talent-property ()
  
negative.code: 				   :name name
  				   :lambda-list lambda-list
  				   :body body
  				   :function body)))
  	(when (talent-p (fdefinition name))
  	  (remove-talents-with-name-and-specializers name specializers))
  	(define-talent-function name lambda-list body)
  	(add-talent-to-sheeple name talent specializers)
  	talent)))
  
  (defun remove-talents-with-name-and-specializers (name specializers)
    (loop
       for sheep in specializers
       do (loop
  	   for participation in (sheep-direct-participations sheep)
  	   when (and (eql name (name participation))
  		     (equal ))
  	   do )))
  
  (defun add-talent-to-sheeple (name talent sheeple)
    (loop 
       for sheep in sheeple
       for i upto (1- (length sheeple))
       do (push (make-instance 'standard-talent-property
  			     :name name
  			     :role i
  			     :talent-pointer talent) 
  	      (sheep-direct-participations sheep))))
  
  ;;;
  ;;; Talent dispatch
  