Mmm, I'm not sure if this is really needed. What if someone come up with an alternative implementation that's array-like but's not any of these? You can turn an object with 0,1,2, 'length' as keys and treat it like an array.