What happens when you cast between low-level types? If the source value is out of range of the destination type, do you get:
1. An exception? 2. Clip to finite range always? 3. Clip to finite range for ints, clip to infinities for nums? 4. Exception when dest is int, clip to infinities when dest is num? 5. Copy bits that fit from source to dest and reinterpret? Personally, I think option 1 or option 4 make the most sense for conversion between int, uint, num, and complex types, while either option 1 or option 5 make sense for conversion to/from buf types. Also, when casting from a num type to an int type, is there a way to specify desired rounding/truncation behavior in a way that allows the most efficient code under the covers, rather than making a side trip through Num and Int? -'f