Do we want to err on the side of having this macro in classes? Vector3d is not vectorizable, so we don't really need it here.