Constrain protocol usage outside the module

Here's an example: