define-struct

(define-struct NAME (NAME ...))
The define-struct form is used to define a new kind of structure. The structure's fields are named by the names in parentheses. After evaluation of a define-struct form, a set of new primitives is available for creation, extraction, and type-like queries: It is an error for any of the created names to be the same as another primitive or another user definition.

Beginning Student Language