anchor.diff:  
   (defun std-tie-breaker-rule (minimal-elements cpl-so-far)
     (dolist (cpl-constituent (reverse cpl-so-far))
  -    (let* ((supers (sheep-direct-parents cpl-constituent))
  +    (let* ((supers (gethash 'parents cpl-constituent))
              (common (intersection minimal-elements supers)))
         (when (not (null common))
           (return-from std-tie-breaker-rule (car common))))))
  
positive.code: 
  ;;; Inheritance predicates
  (defun direct-parent-p (maybe-parent child)
    (when (member maybe-parent (sheep-direct-parents child))
      t))
  
  (defun ancestor-p (maybe-ancestor descendant)
  
negative.code:       (who-sets-using-metasheep (sheep-metasheep sheep) sheep property-name)))
  (defun std-who-sets (sheep property-name)
    (multiple-value-bind (owner has-p)
        (gethash property-name (gethash 'property-owners sheep))
      (if has-p
  	owner
  	(error 'unbound-property))))
  