The "protocols" modules in framework wrappers only contain informal protocol objects, even when there is a formal protocol with the same name.
Informal protocol objects aren't useful for end-users anyway and should be hidden (with the new lazy modules the informal protocols don't have to be visible at all).
Document that users should always use objc.protocolNamed
Deprecate the protocols submodules in pyobjc 2.5 (likely documentation only, I'm not sure if I can generate deprecation warnings for them because the module objects are created in code)
Remove the protocols submodules in pyobjc 3.0