Record 1 — intro (4:00)
Records: expressions that create records, get record fields, and set record fields.
Record 2 — interp (4:02)
Implementing records (with functional update). See record.rkt.
Record 3 — mutable (4:17)
Implementing records where setting a field is a mutation of an existing record, instead of a functional update that creates a new record. We use plai-typed boxes to implement mutation, leaving the store-based implementation as homework. See record-mutable.rkt.