I don't think you can make such a broad statement and be correct in all cases. Negative pointer arithmetic is not by itself a reason to use signed types, except if you are:
1. Certain your added value is negative.
2. Checking for underflows after computation, which you shouldn't.
1. Certain your added value is negative.
2. Checking for underflows after computation, which you shouldn't.
The article was interesting.