But there remains the common cases of indexes by numbers, which still require the [] in table constructors.
Not all tables are constructed as sequences, writing t = {1, 2, 3, [10] = 100,} or t = {'a', 'b', 'c', [25] = 'y', 'z', [-1] = '',} is ugly
It could simply be
t = {1, 2, 3, 10 = 100,} or t = {'a', 'b', 'c', 25 = 'y', 'z', -1 = '',}
Such use is not exceptional, it exists with sparse-indexed lookup tables (which are frequent in many projects). These brackets obscure the data making them unnecessarily long if this is a large table constructor with many keys.
As well the way the tables are dumped in debugging consoles is ugly and verbose, all key strings are surrounded by quotes and brackets, when they don't need to, if strings are valid identifiers (not the very few reserved keywords). And the same happens with number keys surrounded by brackets (for all keys, even those in a sequence: see how "mw.logObject(t)" logs tables and subtables in Wikimedia, with one item per line all lines indented, this generates lot of pages to scroll to find anything; this is not a bug of Lua but a bad design of the mw package for this function, which uses considerable code for indenting and finding subtables references and avoid infinite cycles, but not to make it really readable: the indentation offers little interest on very tall and very narrow lists when sequences should not even need any line break and were most numeric keys are not needed and can be abbreviated).