Not sure if that's right, but the only place I ever encoutered where you can't go without select is something like this:
Code:
local func = function(...)
local num = select(#, ...)
for i = 1, num do
local arg = select(i, ...)
end
end
where you could take
#{...} instead of the first select. Don't know if that's 'cheaper' though.