despite the fact that i've been programming in c for years only now i found out that integer overflow and similar stuff is not defined for signed integers only because logically only unsigned integers are well-defined to allow doing many useful bitwise operations.

how did that sneak through me i wonder.