Currently, the metaclass doesn't enforce this. Any concerns about clashes (e.g. in cases of composition) can be handled with `numpyro.handlers.scope` @damonbayer @cdc-mitzimorris any objections?