It's an implementation detail that bleeds through into userland big time, though. From the pairs()/ipairs() distinction through to the way table sizes are calculated (which I believe was the thing that set off this discussion in the first place).
On the one hand I totally understand where the resistance is coming from, but on the other hand it's one of these fundamental decisions that are a big source of WTFs for new users. Of course experienced devs reflexively code around it and never encounter any problems.
Personally, my take-away from this when I learned Lua was to just not use numerical indices anywhere - and with iterators that works out just fine. But it's a gotcha.