I think your comments got lost when I push a new commit. Maybe we can have a PR for `shared_examples` to discuss, but your above comment makes a pretty strong case.

But I think how we use modules also dictates how they should be tested to some degree. For example modules used for app-wide behaviours like persistence don't need to be tested in every place they are used (persistence is probably a bad example it's usually provided by a gem, but same point for any modules in `lib`).

In the case of sharing domain logic via modules then the `shared_examples` sound like they would help the situation you describe.