[1]
Original JavaScript
Because assoc uses equal?, it can recognize keys that are symbols, numbers, or list structure. Because assoc uses equal, it can recognize keys that are strings, numbers, or list structure.
[2] Thus, the first backbone pair is the object that represents the table itself; that is, a pointer to the table is a pointer to this pair. This same backbone pair always starts the table. If we did not arrange things in this way, insert! insert would have to return a new value for the start of the table when it added a new record.
3.3.3   Representing Tables