There are no cast operators that allow you to cast a vector (or matrix, for that matter) element-wise. For example: operator int4(uint4 v) { return int4(int(v.x), int(v.y), int(v.z), int(v.w)); } Metal supports these; I think they would be a useful utility to add to the standard library.
HLSL doesn't have these; I'm not sure we should either.
Migrated to https://api.github.com/repos/gpuweb/WHLSL/issues/20
https://github.com/gpuweb/WHLSL/issues/20