It's painful when multiple classes define a method with the name name and argument types, but different return types that must be handled differently.