So basically you're saying that if you want different behavior based the type of a variable passed to a function, you're going to have to write that behavior...
Then the answer is yes. We haven't advanced to the point where the compiler can guess that you want. If you can give me an actual example of when it would be an insurmountable task to do so, please let me know.