Why do protocols have to inhabit global namespace

I don't understand this: why do the protocols have to inhabit the global namespace?

Why can't we nest them inside other types?

enum World {
   protocol Foo {} // Error: Protocol 'Foo' cannot be nested inside another declaration
}
3 Likes
1 Like