anchor.diff:      (is (not (ancestorp c b)))))
   
   (test descendantp
  -  (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 (descendantp b a))
       (is (descendantp c b))
       (is (descendantp c a))
  
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 (parentp c b)))))
  
  (test childp
    (let* ((a (spawn))
           (b (spawn a))
           (c (spawn b)))
      (is (childp b a))
      (is (childp c b))
      (is (not (childp c a)))
  