Por que os objetos iostream não sobrecarregam o operador bool?

Emesta resposta Eu falo sobre usar umstd::ifstream conversão de objetos parabool para testar se o fluxo ainda está em bom estado. Eu procurei no livro Josuttis para mais informações (p. 600 se você estiver interessado), e acontece que oiostream objetos realmente sobrecarregaroperator void*. Ele retorna um ponteiro nulo quando o fluxo é ruim (o que pode ser implicitamente convertido parafalse) e um ponteiro não nulo (convertido implicitamente paratrue). Por que eles não apenas sobrecarregamoperator bool?

questionAnswers(3)

yourAnswerToTheQuestion