That wouldn't work because there would be nothing stopping you from re-using a value representing an old state.
That's exactly what affine / linear types do.