Reconsider the semantics of type aliases in protocol extensions

Well you might remember this thread where I asked why I can do that.

You're welcome.