Utility function to perform bounds checking as part of a conversion.
Does this be examining the bounds of the destination type, converting to the type of
the source via safeConvert, comparing to the source value. Results in an error
if the conversion is out of bounds.