The structural shape every 3D vector in this library is built on.
It is deliberately a plain anonymous structure rather than a class: FiveM's
Lua runtime returns its own vector3 userdata from natives like
GET_ENTITY_COORDS, and that userdata exposes exactly .x, .y and .z.
Because Vector3 is an abstract over this shape, a native's return value
can be cast straight to a Vector3 with no copying or conversion.