Last I checked, `for x,y in ipairs(t) do` is slower than `for x=1,#t do local y = t[x]`, so why do we have ipairs()?