anchor.diff:  ;;; how to test what this actually SHOULD do
   (test std-tie-breaker-rule)
   
  -(test object-hierarchy-list
  +(test object-precedence-list
     (with-object-hierarchy (parent (child parent))
       (is (equal (list child parent =standard-object= =t=)
  -               (object-hierarchy-list child))))
  +               (object-precedence-list child))))
     (with-object-hierarchy (a (b a) (c b))
       (is (equal (list c b a =standard-object= =t=)
  -               (object-hierarchy-list c))))
  +               (object-precedence-list c))))
     (with-object-hierarchy (a b (c a) (d a) (e b c) (f d) (g c f) (h g e))
       (is (equal (list h g e b c f d a =standard-object= =t=)
  -               (object-hierarchy-list h)))))
  +               (object-precedence-list h)))))
   
   ;;; Testing the utility...
   (in-suite objects)
  
positive.code:     (is (eq a (car (object-parents c))))
      (is (eq b (car (object-parents d))))
      (is (eq c (cadr (object-parents d)))))
    (signals object-hierarchy-error
      (with-object-hierarchy (a (b a) (c b) (d a c))
        (declare (ignore d)))))
  
  
negative.code:             (list g f e c d b a c a)
              (list h g h g f e c e d))
      (is (equal (list c a =standard-object= =t=)
                 (object-precedence-list c)))
      (is (equal (list d a =standard-object= =t=)
                 (object-precedence-list d)))
      (is (equal (list e c a b =standard-object= =t=)
                 (object-precedence-list e)))
      (is (equal (list f d a =standard-object= =t=)
                 (object-precedence-list f)))
      (is (equal (list g c f d a =standard-object= =t=)
                 (object-precedence-list g)))
      (is (equal (list h e g c b f d a =standard-object= =t=)
                 (object-precedence-list h)))))
  
  (def-suite inheritance-predicates :in inheritance)
  (in-suite inheritance-predicates)
  