Overloading on formal parameters is to say "do the same thing, but with this input". You differentiate methods by names according to what they do, if they do the same thing then they should return the same type of object.

 

That's why I don't think this should be implemented.