I see, I believe I fully understand your concerns. It makes the module version of ServiceLoader a lot less useful to me, but I see your main hesitation.
In your scenario, Y is > pulling double duty, which makes it harder to understand overall, and > you'll benefit a lot more from breaking it up than from a more relaxed > module system. > Perhaps I'm looking at it from the wrong angle, but from a maintenance perspective, I'm not really seeing the benefits. Say you have 5 artifacts that provide an optional service for X, to support the module-path we now need to maintain 10. It also makes it somewhat cumbersome to add the extra dependencies to use them all with X. >