Add internal identity mappings. This is done to get range checking even when the type can't take on out-of-range values. This typically draws a warning "comparison is always 0 due to limited range of data type"; we want the tests for future-proofing but don't want the warnings. But we want limited-range warnings turned on in general. Simply using a cast doesn't defeat the warning. So we pass such values through an identity-mapping function which widens them in a way that doesn't provoke the warnings. I'm willing to accept the extra cost of calling the trivial function for the sake of future-proofing the range checks.