function foo(a) {
    return typeof(a) == "object";
}

var array = ["string", 5, 6.5, void(0), null, true, false, {f:42}, [1, 2, 3]];

var result = 0;
for (var i = 0; i < 100000; ++i) {
    result *= 3;
    result += foo(array[i % array.length]) | 0;
    result |= 0;
}

if (result != 719228699)
    throw "Bad result: " + result;
