| `Return{ } -- allowed anywhere, unlike in plain Lua
| `Break -- allowed anywhere, unlike in plain Lua
These comments probably should be reworded — at the least. It looks like they're written from Metalua language's point of view, but this now is a generic Lua library...
I would expect the compiler to have three "modes" (at least logical) — lua 5.1, 5.2 and Metalua.
At least, when I use the compiler as a part of code linting tool, I'd expect it to catch the code that is invalid code for a given Lua dialect...