Make `Vec3<T>` a special, augmented version of `Vec<T,3>`
The following discussion from !3359 (merged) should be addressed:
Vec3<T>
should become a Vec<T,3>
with additional functionality. Same thing for Lorentz 4-vectors (which should encode both the ordering convention: x,y,z,t / px,py,pz,E and the metric convention eg diag(+1,+1,+1,-1) (?)