Changed racket version to use struct.

Bitter-sweet change.  On the one hand, using struct like this is
arguably more idiomatic racket, and it really does help reduce
the line count.  On the other hand, the hand-rolled accessor
subsystem is derived from one of the classic texts (forgot now
from which); has a certain spartan elegance.