Ahh. Your/Dirk's point is that next behaves the
same as unpack behaves the same as rawgeti, etc. Presumably,
"where would the madness end...?"
`next` *is* different. It is the only "function" that does
something that is magic. There is no way to write it, without
`next`.
I hate to use that specialness as a reason why I don't
think it should read metatables, but I will. If you're
special, you should also be limited.
There are many other examples where the standard libraries
don't respect metatables. I have varying degrees of dislike
for all of them, except next.
-Andrew