Adding builtin support for unsigned native integers would mean adding another core runtime type
isn't int(0..4294967295) good enough for that?
You think on the pike language "user" level, but pike has to implement it on the C level, where compile time types are much more of an issue.
If you want to understand it better, you might try working in C a bit, which is a completely different reality, devoid of the dynamic typing that makes int(0..255), int(-128..127), and so on, feel more like the mere changing of a single declaration line rather than something that has big implications on every operation on the value. In pike code we never have to do any bounds checking to cater the type containers -- which is one of the comforts not offered the poor C level programmers.
(Changing languages once in a while is a good reminder of what you like in your favourite one. And, occasionally, what it lacks. :-)