anchor.diff:  (defstruct (object (:conc-name %object-) (:predicate objectp)
                      (:constructor std-allocate-object (metaobject))
                      (:print-object print-sheeple-object-wrapper))
  -  (descendants nil)     ; A cache of the object's child lineages
  +  (children nil)        ; A cache of the object's child lineages
     (mold nil)            ; mold this object currently refers to
     metaobject            ; metaobject used by the MOP for doing various fancy things
     (property-values nil) ; either NIL, or a vector holding direct property values
  
positive.code:       (setf (%object-mold object) (ensure-mold parents nil))
      (topological-sort-conflict (conflict)
        (error 'object-hierarchy-error :object object :conflict conflict)))
    (apply 'init-object object all-keys))
  
  (defun spawn (&rest objects)
  
negative.code:       (setf (find-mold parents)
              (make-mold (aprog1 (make-lineage parents)
                           (dolist (parent parents)
                             (push it (%object-children parent))))
                         (vector)))))
  
  (defun ensure-transition (mold property-name)
  