Composites could be constructed with a special case of `MOV`, with multiple src params, instead of the current system. Simple to implement, less verbose in VSIR and SPIR-V, and would correctly emit undefs. Those advantages are probably only useful for debugging though.