Compile-Time Reflection

You already know I HATE @annotions for extending the language.

For larger changes to a structure, it is recommended to realize this over annotation.

Personally, I prefer compile time reflection (CR) over runtime reflection (RR), as (CR) could be visualized better in an IDE and is done at compile time and not a runtime.
The main reason why Java is slow is RR.
Languages with CR can build VMs providing RR if needed.

The only requirement to CR is that it must be standardized in the standard library, i.e. each compiler must support this when implementing the language.

2 Likes