In general, the syntax:
for k, v in pairs(t) do
....
end
is equivalent to:
for k, v in next, t do
....
end
But what if t has a __pairs metamethod? Will the standard next() function check for this? If not, isn't it better to always use pairs when iterating over tables, and never call next() directly?