I don't know about you but I certainly know that if a printLine function accidentally does something else, it's definitely the code that's wrong and not the function name.
"Proven in use" and backwards compatibility is a bitch.
def sumAllNumbers(nums: List[Int]): Int = {
nums.filter(_ % 2 == 0).sum
}
Is the function name wrong or is the implementation? We can't tell without looking at how the function is used, and maybe not even then! Maybe we have to ask the person who made the last change. Maybe they changed the implementation for a valid reason and forgot to change the name. It happens!So the name definitely helps, but it's not conclusive.
Also addresses are not like names. As with names in general, a name can refer to more than one object. (Consider modules, for example.)