So, is that a yes or no?
Honestly, I’m still unsure. You say an annotation is a first-class citizen. And I guess using an annotation on a public class creates an instance of the annotation at runtime. But is that instance usable externally just because it’s attached to a public class? I would guess not.