The top-rated answer to [this SO question](https://stackoverflow.com/questions/442026/function-overloading-by-return-type) is a very interesting read. Some teaser quotes:
> Overloading by return type is possible and is done by some modern languages. > > Two of the languages I regularly (ab)use overload by return type: Perl and > Haskell. > > Haskell takes the other approach, namely to not have side effects. It also > has a strong type system [...] [[FULL ARTICLE]](https://stackoverflow.com/questions/442026/function-overloading-by-return-type)