Per @Becasita on Discord:
mw.log('does not print')
local a = ({})[1][1]mw.log('does print')
local a = ({ [1] = {} })[1][1]mw.log actually collects the values passed to it. It doesn't print them. Some other function will print the accumulated values. If the module throws, that function is never called. Shouldn't be like this; doesn't make sense to design something like this. So yeah, feels like a shortcoming.