It's probably not the first occurrence, but here's one mention I remember:
(even that is very outdated, though :-)
I'd favor the name that is most likely to clash with existing code (that's the best one ;-) — and if we would ever get a way to explicitly refer to a protocol member, that could resolve the conflict... but this feature wouldn't be for free: Suddenly, calling id
on an object could produce different results, depending on the context.
Update: The syntax might be reusable for How to unambiguously refer to a symbol defined in an extension in third party module?