Consistency with what ?
Are unsigned ints promoted to unsigned longs in calculations for instance ?
You can never have enough standards
Expected behaviour ?
There is nothing expected about the behaviour.
Sure it is documented, but why was it implemented ?