<@U06A03HV1>: I think a classic case would be when...
# general
@witty-crayon-22786: I think a classic case would be when you are defining an annotation processor defined in the repo. You'll want to actually depend on that class in tests, test libraries, other tools that are built on top of that annotation processor, but when it is actually used you'll want to use some kind of mechanism to exclude it from the runtime classpath. Same dependency, different scope depending on which target you are calling it from.