Why does the compiler use the double version of the method when we passed an integer? The answer is like a super bowl, it comes in two halves. There is an implicit conversion from double to integer. This makes Who() defined in Bar good enough for the compiler, or as the reference docs below call …