What do you think of function overloads?
In Delphi, you can overload functions, but doing so requires using the overload directive explicitly.
The following code declares two functions with the same name, one that will be invoked if you pass an integer, another that will be invoked you pass a string: