While this seems like it should be legal, there are two problems:
1. Our mangling scheme doesn't actually give these different symbol names.
2. When debugging, we don't have a good way to pick one over the other.
We could fix these issues, but it seems simpler to just reject this code: within a file, conflicting "overloads" like this should not be allowed despite being declared private. (Note that this isn't limited to extensions and that one of the members might not be private; that's just the simplest way to show the problem.)