Iteración de matrices de Javascript utilizando for..in con MooTools incluido

Estoy iterando sobre una matriz en MooTools pero veo elementos adicionales al iterar a través de la matriz usando la taquigrafíafor..in lazo. Funciona bien cuando uso el regularfor lazo. ¿Es este un problema con MooTools contaminando el espacio de nombres global o estoy haciendo algo mal aquí?

Hay uncreateTabs() función que recorre una matriz y crea una pestaña para cada valor de la matriz:

function createTabs() {
    var myTabs = [["First", "a.png"], ["Second", "b.png"]];
    for(var i in myTabs) {
        var tab = new Tab(myTabs[i][0], myTabs[i][1]);
        console.log(i);
    }
}

Esta es la salida deconsole.log(i):

0
1
$family
each
clean
associate
link
contains
extend
getLast
getRandom
include
combine
erase
empty
flatten
hexToRgb
rgbToHex
toJSON

Entiendo los primeros 2 índices, pero ¿de dónde viene el resto?

Editar: Gracias por las rápidas respuestas de Chetan y k Prime. Eso tiene sentido, y laArray.each Además, MooTools es una forma mucho más limpia de iterar.

Se ve mucho mejor ahora:

myTabs.each(function(item) {
    var tab = new Tab(item[0], item[1]);
    console.log(item);
});

Respuestas a la pregunta(2)

Su respuesta a la pregunta