Use the appropriate type for the desired action. For example, in C/C++, only use
unsigned types for values that could never be negative, such as height, width, or other
numbers related to quantity. This will simplify sanity checks and will reduce surprises
related to unexpected casting.