anchor.diff:      (with-object-hierarchy (a (b a) (c b) (d a c))
         (declare (ignore d)))))
   
  -(test finalize-object-inheritance
  -  ;; todo - write tests for this once bootstrapping is set...
  -)
  -
   (test object-hierarchy-list
  -  (let ((a (std-allocate-object =standard-metaobject=))
  -        (b (std-allocate-object =standard-metaobject=))
  -        (c (std-allocate-object =standard-metaobject=)))
  -    (is (eql a (add-parent b a)))
  -    (is (eql b (add-parent c b)))
  +  (let* ((a (spawn))
  +         (b (spawn a))
  +         (c (spawn b)))
       (is (equal (list a b c) (object-hierarchy-list a)))))
   
   (def-suite inheritance-predicates :in inheritance)
   (in-suite inheritance-predicates)
   
   (test parentp
  -  (let ((a (std-allocate-object =standard-metaobject=))
  -        (b (std-allocate-object =standard-metaobject=))
  -        (c (std-allocate-object =standard-metaobject=)))
  -    (add-parent a b)
  -    (add-parent b c)
  +  (let* ((a (spawn))
  +         (b (spawn a))
  +         (c (spawn b)))
       (is (parentp a b))
       (is (parentp b c))
       (is (not (parentp a c)))
  
positive.code:     (is (not (childp b c)))))
  
  (test ancestorp
    (let ((a (std-allocate-object =standard-metaobject=))
          (b (std-allocate-object =standard-metaobject=))
          (c (std-allocate-object =standard-metaobject=)))
      (add-parent a b)
      (add-parent b c)
      (is (ancestorp a b))
      (is (ancestorp b c))
      (is (ancestorp a c))
  
negative.code:     (is (not (ancestorp c b)))))
  
  (test descendantp
    (let* ((a (spawn))
           (b (spawn a))
           (c (spawn b)))
      (is (descendantp b a))
      (is (descendantp c b))
      (is (descendantp c a))
  