These templates are designed to take an integer type, and return an unsigned int version with the same size.