Lua only has one complex data-structure
Lua only has tables as it’s only complex data-structure.
A Lua table has a dual nature as both an array or hash table.
A Lua program is in fact just a Lua table which contains the functions for the program.
This makes Lua the most symmetric implementation of a scripting language in the world.
It’s what makes the language so small and fast and makes it possible to implement with such a small amount of code.