anchor.diff:        (setf-get-cloneform-using-metasheep
          new-value (sheep-metasheep sheep) sheep property-name)))
   (defun (setf std-get-cloneform) (new-value sheep property-name)
  -  (setf (gethash property-name (sheep-direct-cloneforms sheep)) new-value))
  +  (setf (gethash property-name (gethash 'cloneforms sheep)) new-value))
   
   (defun get-clonefunction (sheep property-name)
     (if (eql (sheep-metasheep sheep) =standard-sheep-metasheep=)
  
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))))
  