Method overloading sucks in Scala because it actually detracts from your flexibility. An implicit conversion is a feature of Scala that let's the compiler look up how to convert objects between types at compile time.
Let's say I define a method with the following signature:
def doSomething( action: Action )
Somewhere else in the code I write: