Slots & values
The slot is the only thing that changes
In most languages, structures are shared by reference — copy a list and change the copy, and depending on the language’s mood, you might have just changed the original too. In Ascent that bug class doesn’t exist: values never mutate in place. Ever.
Predict it before you run it: does adding "milk" to biggerCart change what’s in cart?
cart comes back untouched — [apples, bread]. biggerCart is its own independent value. There’s no structure shared underneath for a change to leak through, and so no aliasing anywhere: writing through one slot can never reach into another.