anchor.diff:  (define-test test-inheritance
       (let ((circle-1 (make-instance 'circle))
             (shape-1 (make-instance 'shape)))
  -      (assert-equal ____ (type-of shape-1))
  -      (assert-equal ____ (type-of circle-1))
  -      (true-or-false? ____ (typep circle-1 'circle))
  -      (true-or-false? ____ (typep circle-1 'shape))
  +      (assert-equal 'shape (type-of shape-1))
  +      (assert-equal 'circle (type-of circle-1))
  +      (true-or-false? t (typep circle-1 'circle))
  +      (true-or-false? t (typep circle-1 'shape))
         (set-kind :circle circle-1)
         (set-pos '(3 4) circle-1)
         (set-radius 5 circle-1)
  -      (assert-equal ____ (get-pos circle-1))
  -      (assert-equal ____ (get-radius circle-1))))
  +      (assert-equal '(3 4) (get-pos circle-1))
  +      (assert-equal 5 (get-radius circle-1))))
   
   ;; Classes may also inherit from more than one base class.
   ;; This is known as multiple inheritance.
  
positive.code: (define-test test-multiple-inheritance
      (let ((my-colored-circle (make-instance 'colored-circle))
            (my-circled-color (make-instance 'circled-color)))
        (assert-equal ____ (get-kind my-colored-circle))
        (assert-equal ____ (get-kind my-circled-color))))
  
  
  (defvar *last-kind-accessor* nil)
  
negative.code: (define-test test-access-counter
      (let ((x (make-instance 'value-with-access-counter)))
        ; check that no one has ever looked at the x value yet.
        (assert-equal 0 (how-many-value-queries x))
        ; check that the default value is zero.
        (assert-equal 0 (get-value x))
        ; now that we've looked at it, there is a single access.
        (assert-equal 1 (how-many-value-queries x))
        ; check that we can set and read the value
        (set-value 33 x)
        (assert-equal 33 (get-value x))
        (assert-equal 3 (how-many-value-queries x))))
  
  
  ; countdowner has a value which goes down every time you look at it
  