Supposing a signed type had been used for the counter, and nothing changed to the loop
condition, the last pass through the loop would have done something to stuff[-1] which is also
unlikely to be what the author wanted.
So isn't 'while(i>0)' the correct solution following an incorrect analysis?