Absence & nothing
Discard on purpose with void
Every value has to go somewhere — used, or explicitly thrown away. Drop one on the floor and Ascent calls it out. Here’s a classic silent no-op:
xs.append(4) builds a new list and hands it back — but nothing catches it, so the line does nothing at all. Ascent flags it right away (this value isn’t used by anything) instead of letting the bug slip past.
Two ways to fix it. If you want the result, keep it: xs = xs.append(4). If you genuinely meant to throw the value away, say so with void:
void is the “yes, I’m discarding this on purpose” marker — the same void expr you may know from TypeScript. A Done-valued line like print(...) never needs it: there’s nothing to drop.