| uri) |
The purpose of this function is to permit modules to refer to protocols defined in another module, that may or may not be present at runtime. To do this, a protocol author can declare that their protocol is equivalent to a URI string:
Then, if someone wishes to use this protocol without importing
ISomething (and thereby becoming dependent on the module that provides
it), they can do something like:
Thus, instances of MyClass will be considered to support
ISomething, if needed. But, if ISomething doesn't exist, no
error occurs.