Ultimately the OP simply wanted to be able to index a data structure using a
user defined n-tuple key. So far I've only heard two suggestions: 1)
radically change the typing semantics of Lua with constant tables, or 2)
implement the abstract interface using nested tables and a function
I suggested a library that would generate a userdata “tuple key” for a given table sequence. This required neither changes to the language nor nested tables, though it did need some C code to generate the userdata tuples.