anchor.diff:  ;;;   all sub-molds must be alerted (and they must alert -their- sub-molds), and each sub-mold must
   ;;;   recalculate its hierarchy list.
   
  -(defstruct (mold (:predicate moldp)
  +(defstruct (mold (:predicate moldp) (:conc-name %mold-)
                    (:constructor
  -                  make-mold (parents &aux (hierarchy (compute-hierarchy parents)))))
  +                  %make-mold (parents &aux (hierarchy (compute-hierarchy parents)))))
     "Also known as 'backend classes', molds are hidden caches which enable
   Sheeple to use class-based optimizations yet keep its dynamic power."
     (parents   nil :read-only t)
  
positive.code: If no such node exists, returns NIL."
    (check-type node node)
    (check-type property-name property-name)
    (cdr (assoc property-name (node-transitions node) :test 'eq)))
  
  (defun find-node-by-transitions (start-node goal-properties)
    "Searches the transition tree from START-NODE to find the node containing
  
negative.code:   (sub-molds nil)
    initial-node)
  
  (defstruct (node (:predicate nodep) (:conc-name %node-))
    "Transitions are auxiliary data structures for molds, storing information
  about an object's direct properties. Objects keep a reference to their
  current transition as an entry point to the mold datastructure."
  