Method Sobrecarga com tipo de retorno diferente [duplicado]

Esta pergunta já tem uma resposta aqui:

Sobrecarga de função por tipo de retorno? 14 respostas

Eu quero descobrir se é uma ambiguidade ou um recurso extra que é fornecido:

 public class Foo 
 { 
    public int Bar(){
       //code
    }

    public string Bar(int a){
       //code
    }
 }

Qualquer pessoa que tenha alguma experiência com isso, sobrecarregar o tipo de retorno com parâmetros diferentes deve ser uma prática ruim, não

Mas se a sobrecarga foi feita com base no tipo de retorno, por que isso não está funcionand

 public class Foo 
 { 
    public int Bar(int a){
       //code
    }

    public string Bar(int a){
       //code
    }
 }

Como não será possível decidir qual função chamar 1º ou segundo, se chamarmos obj.Bar (); , deve terminar em erro, se alguém tiver alguma idéia, por que permite a execução do primeiro snippet de código.

questionAnswers(9)

yourAnswerToTheQuestion