Now that ndarray can cast with ndarray.astype(dtype, casting='same_value'), it would be nice to add that to the user-defined dtypes here. This would test out the lower mechanism that checks for can-cast, and would probably require some fixes to numpy to make can-cast work correctly?