Marks a class/interface as service type (not an implementation).
Use when the type is meant to be the default inferred type.
@Service
sealed class A permits B {
...
}
non-sealed class B extends A {
...
}
//the default inferred SPI is A instead of B
@ServiceProvider
class C extends B {
...
}