According to another poster elsewhere, some processors do exactly what the OP requested, and that it's doable today in machine code. Other posters have mentioned that using unsigned or floating point integer types allow this behavior in various languages.
There's no reason why it couldn't be supported by a language, and it's absolutely not impossible.
Everyone's argument about it being impossible comes from expressing things in languages where it's explicitly "undefined" or NaN, or otherwise illegal in that language. If it's a standard and predictable behavioral rule of a language, then it's definitely usable in that language.
Weak types in PHP or JS are very analogous. Sure, lots of people make mistakes with them (and there's other faults that encourage those mistakes), and most problems stem from inconsistencies in the language APIs when converting types, but if you understand how types work in those two languages you can write surprisingly complex behaviors using very simple and concise expressions. Simplicity and terseness is very important in a scripted language.