Consumption. The value transitions or ends, and its old state can’t be used again.
Generated code rarely uses self by value, but it’s the most useful
receiver for design: it makes a state transition irreversible at compile
time. The Typestate page builds on this.