Allows applications to define custom access modifiers programmatically,
to be enforced at compile time in the opt-in basis. Obviously,
there's no runtime check either --- this is strictly a voluntary annotations.
This mechanism is useful for actually making sure that deprecated features are not used
(without actually removing such declarations, which would break binary compatibility.)