The following lines were added (+) and removed (-):
-- If a value is already present it is not overwritten; tables listed earlier have precendence. -- If a value is already present it is not overwritten; tables listed earlier have precedence. return pairs(metaArgs) return function (t, k) local nk, val = next(metaArgs, k) if val == nilArg then val = nil end return nk, val end return ipairs(metaArgs) return function (t, i) local val = metaArgs[i + 1] if val == nil then return nil elseif val == nilArg then val = nil end return i + 1, val end, nil, 0