anchor.diff:  (define-test test-abbreviated-struct-access
       (let ((player-3 (make-american-football-player
                        :name "Drew Brees" :position :QB :team "Saints")))
  -      (assert-equal ___ (nfl-guy-position player-3))))
  +      (assert-equal :QB (nfl-guy-position player-3))))
   
   
   ;; Structs can be defined as EXTENSIONS to previous structures.
  
positive.code:   (let ((player-1 (make-basketball-player
                     :name "larry" :team :celtics :number 33)))
      (assert-equal "larry" (basketball-player-name player-1))
      (assert-equal ___ (basketball-player-team player-1))
      (assert-equal ___ (basketball-player-number player-1))
      (assert-equal 'basketball-player (type-of player-1))
      (setf (basketball-player-team player-1) :RETIRED)
      (assert-equal ___ (basketball-player-team player-1))))
  
  
  ;; Struct fields can have default values
  
negative.code:                        :name "Kobe Bryant"
                         :team :LAKERS
                         :number 24)))
        (assert-equal 2004 (nba-contract-start-year contract-1))
        (assert-equal 'nba-contract (type-of contract-1))
        ;; do inherited structures follow the rules of type hierarchy?
        (true-or-false? t (typep contract-1 'BASKETBALL-PLAYER))
        ;; can you access structure fields with the inherited accessors?
        (assert-equal :lakers (nba-contract-team contract-1))
        (assert-equal :lakers (basketball-player-team contract-1))))
  
  
  ;; Copying of structs is handled with the copy-{name} form.  Note that
  