Instead of having a few thousand subclasses for different exceptions, I will just have one with a given type.
NLClass and most of the family would be best as interfaces. Then quite
literally the class file interface can implement that interface and I no
longer need a bridge.
NLClassLibrary would be in the wrong package.
Bridge removal would be nice and a common interface the compiler can use would be nice. So with the code now no more duplicating bridge will be required and I can also have the potential for classes which exist in the run-time and are accessed through the interface.
I can do typed exceptions for the compiler system also, so to speak.