Do we also want these functions on `Cartesian2` and `Cartesian4`?  Likewise, do we also want `abs` on `Matrix2` and `Matrix4`?  I'm OK with no if we think their use is not general enough; otherwise having them is the right move for consistency.