Thank you, this is in line with what I thought you meant. I'm glad I was right. Your proposal is sensible and well thought out. The only improvement I'd make is instead of: float4 f; Have: float[4] f; i.e. make static arrays of 2,3,4 dimensions have the suggested properties. I think this is quite doable.