Internet Explorer 7/8 e funções de janela são objetos vazios

No Internet Explorer 8 (funciona também no IE9 nos modos IE7 / 8), os seguintes alertas de códigoobject eundefined em vez de esperarfunction e algo parecidofunction() { [native code] }.

alert("typeof window.setTimeout = " + typeof window.setTimeout);  // object
alert("window.setTimeout.apply  = " + window.setTimeout.apply );  // undefined

Tente:http://jsfiddle.net/BsvZw/5/

Por que isso está acontecendo? O que seria uma solução para obter o realsetTimeout?

Atualizar

Eu estou tentando criar um wrappersetTimeout:

var _oldSetTimeout = window.setTimeout;
window.setTimeout = function ()
{
    // ...

    return _oldSetTimeout.apply(this, arguments);    // this is place where IE 7/8 says 'Object doesn't support this property or method'
                                                // and _oldSetTimeout looks like an empty object
};

questionAnswers(2)

yourAnswerToTheQuestion