Por que removeChild precisa de um nó pai?

Depois de responderessa questão Fico me perguntando por queremoveChild precisa de um elemento pai. Afinal, poderíamos simplesmente fazer

node.parentNode.removeChild(node);

Como o nó pai sempre deve estar disponível diretamente para o mecanismo Javascript / DOM, não é estritamente necessário fornecer o nó pai do nó a ser removido.

Claro que entendo o princípio de queremoveChild é um método de um nó DOM, mas por que algo comodocument.removeNode existe (que apenas aceita um nó arbitrário como parâmetro)?

EDITAR: Para ser mais claro, a pergunta é: por que o mecanismo JS precisa do nó pai, se ele já possui o nó (exclusivo) que deve ser removido?

questionAnswers(2)

yourAnswerToTheQuestion