Performance Comparison
;; 2.2 million struct accesses per second
(let ((ship (make-ship1)))
(Time (dotimes (i n) (setq *junk* (ship1-x-position ship))))))
;; 700,000 slot accesses per second
(let ((ship (make-instance 'ship2)))
(Time (dotimes (i n) (setq *junk* (slot-value ship 'x-position))))))