Por que a função jquery empty é tão complicada?

Olhei para ojQuery código-fonte para o.empty() função:

<code>empty: function() {
        for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
            // Remove element nodes and prevent memory leaks
            if ( elem.nodeType === 1 ) {
                jQuery.cleanData( elem.getElementsByTagName("*") );
            }

            // Remove any remaining nodes
            while ( elem.firstChild ) {
                elem.removeChild( elem.firstChild );
            }
        }​
</code>

Não poderia ser muito mais simples com apenas mudar oinnerHTML para uma string vazia:

<code>empty: function() {
        for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
                elem.innerHTML = "";
        }​
</code>

oempty docs:

Descrição: Remova todos os nós filhos do conjunto de elementos correspondentes do DOM.

questionAnswers(1)

yourAnswerToTheQuestion