if there need to be negative references in array accesses (which certainly
makes sense to me, on its face), it seems reasonable to have whatever
intermediate variable be signed.
In my first C programming job I saw the source to V7 grep which had a
"foo[-2]" construct. It was a moment of enlightenment and another bit of
K&R fell into place. (
https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/grep.c; search
for "[-")