Write structure definitions for the following items. Also, write the name of each function that is produced by the definition as well as a contract for that function. (By writing the contract for, say, make-card, you are deciding what type of data the structure should hold.)
1. A card has two fields, suit and rank.
2. A student is known by a name and a snark-rank.
3. A domo has no fields.
4. A function has a name, parameters, and body. You may abbreviate parameters as params and function as fun.
5. The empty-node has no fields.
You should be able to do this without referencing online documentation. We will use structures extensively in the implementation of interpreters; it must be second nature to define, make, and interact with record-based structures in Scheme.
I assume you have practiced further while preparing for class; if you need more practice, see me.
