A 4D vector with fields x, y, z, w, also reachable as the array component; xy, yz, zw view pairs as a Vector2 and xyz, yzw triples as a Vector3. It is also the homogeneous coordinate type that Matrix4 multiplies. Supports the same operators and procedures as Vector3 except cross and rotate.
v := Vector4.{ 1, 2, 3, 4 };
assert(v.xyz == xyz(1, 2, 3) && v.zw == xy(3, 4));
assert(dot(v, v) == 30);