A persistent spine of chunks, each owning [base, base + vals.len()).
Extending a shared one links rather than copies: applying a closure always
shares its environment, so a flat copy-on-write vector copied every call.
A newtype so the drop can be iterative: lists are unbounded in depth and
derived glue overflows. On the pointer, since on Val it would forbid
destructuring.
Grouped under one variant because every member obeys the same staging rule
(residualize if the argument is Code, otherwise compute), so the
specializer states that rule once.