Well, I've been writing Lua code for a few years now and I think that the ways you can go right with Table usage far outweigh any liabilities that newcomers to the language will suffer as they learn to do powerful things with the simple features. As long as you know what modules, arrays, or maps are, and what uses they can provide, then you can't really screw things up too much with the Lua table. But of course, that's expecting a lot from a modern language user ..
I don't disagree with any of that. I just think that combining concepts doesn't necessarily reduce the number of ways things can go wrong (even if, as you say, it increases the number of things that can go right as well).
For an extreme case of what I mean, consider Church numerals.
Well, tables can and do often "go wrong", but alas the success-case is rarely accounted.
I would warrant that there must be something to them, or else we wouldn't be discussing them as persistent features of a social phenomenon, which is something I think we all take for granted about software language: it is entirely social.
Whereas your extreme case is mathematically derived, our social habits occur because of decisions.
I beg to differ. You can definitely go wrong in more ways with Lua tables because they stand in for modules, arrays, and maps.