The way by which semicolons were made optional between statements in Lua is already broken, but more limited; the colon separators in table data initializers would be much worse (in fact there are all the same ambiguities if you drop the semicolons between function parameters, or between return values, or between multiple right-hand side values of an assignment, it would make the language extremely ambiguous with lots of caveats in the parser, or forcing it to use backtrailing and maintaining a complex structure to memoize the backtrailing state)