(define-struct structid (fieldid ))
Define a new type of structure. The structure’s fields are named by the fieldids in parentheses. After evaluation of a define-struct form, a set of new primitives is available for creation, extraction, and type-like queries:
make-structid : takes a number of arguments equal to the number of fields in the structure type, and creates a new instance of the structure type.
structid-fieldid : takes an instance of the structure and returns the field named by structid.
structid? : takes any value, and returns true if the value is an instance of the structure type.
structid : an identifier representing the structure type, but never used directly.
The created names must not be the same as a primitive or another defined name.