User data
The user data type in Lua is basically how Lua gives the ability to wrap a user defined C or C++ object.
It’s possible to overuse and abuse this facility in Lua. I think in hindsight I overused this part of the Lua language in the first iteration of the translator.
It’s better to use Lua tables if you can.
See the types in Lua.