I couldn't see the place where you actually check the symbol alternatives. Is `isSameMethod` correctly handling it? What I have in mind is a case like this:

```
def isSameMethod(a, b) = {
  ...
  if (b.isOverloaded) b.alternatives(isSameMethod(a, _))
  ...
}
```