anchor.diff:        obj))
     )
   
  +(defun canonicalize-properties (properties)
  +  (mapcar #'canonicalize-property properties))
  +
  +(defun canonicalize-property (property)
  +  (if (symbolp (car property))
  +      (cons (car property) (cadr property))
  +      (error "Improper property!")))
  +
   ;;;
   ;;; Inheritance management
   ;;;
  
positive.code: ;; 		    (set-slot-value child property-name value))))
  ;;     sheep))
  
  
  ;;; unusable for now (need references to children)
  
  ;; (defun sacrifice-sheep (sheep &key (save-properties nil))
  ;;   "Deletes SHEEP from the hierarchy, preserving the hierarchy by expanding references to
  ;; SHEEP into all its parents. Optionally, pushes its direct properties into its children."
  
negative.code:     :initform nil
      :accessor sheep-direct-talents)))
  
  (defmethod print-object ((sheep standard-sheep-class) stream)
    (print-unreadable-object (sheep stream :identity t)
      (format stream "Standard-Sheep ID: ~a" (sheep-id sheep))))
  
  ;;;
  ;;; Cloning
  ;;;
  