stuff like decompilation fucking up hard (people probably can't tell because they lack the original code)

Most upvalues getting broken (aka a local variable outside of the current stack frame) exists. Notice how "uv0" is unresolved. The decompiler can't resolve the majority of these.

It's more akin to hitting F5 in IDA rather than a two-way relationship, even if in the case of Lua or LuaJIT BC there is more similarity to the language being used than in e.g. C++ and x86 ASM. Or, put simply, one can't just decompile and run the decompiled code.
love u