O problema é que _multiple_names não é mais usado em lugar algum, mas o mesmo se mostra "vivo" porque um teste perdido continua indicando que o código está vivo. Se tivéssemos começado com os testes de comportamento desde o começo -- considerando entradas e saídas -- de cara veríamos que a função não é mais necessária -- e se, num futuro, ela for... bom, é pra isso que sistemas de controle de versão existem.
Embora esse possa parecer um exemplo bobo, existem outros casos em que o fluxo de processamento dos dados pode ser alterado pelo próprio ambiente. Por exemplo, no Django, é possível ter classes "middleware", que são capazes de interceptar Requisições ou Respostas e alterar o resultado o mesmo. O exemplo mais comum é o middleware de Autenticação, que adiciona informações do usuário logado na Requisição; mas essas alterações podem ser mais profundas, como alterar os dados do formulário. Nesses casos, a entrada (ou a saída, ou ambos) é afetada e, portanto, escrever testes que ignorem os middlewares não vão representar a entrada (ou saída, ou ambos) do sistema corretamente. E aí podemos perguntar se o teste é válido por usar estados que não existem naturalmente no sistema.