I'd like to linger on your analogy of class loading with federal bank authority to publish currency.
I think that classes just like many other things that developers work with, often changes in time. OTOH, currency by it's nature doesn't.
Dollar from the prespective of an american never changes, only when we compare that to another currency do we (care to) see differences in exchange value.
But to american, dollar stays the same dollar be it today or tomorrow.
Classes, OTOH, from the prespective of a developer changes over time. This happens in all industry.
So i think what the jvm has to do is to fully "embrace change", i.e. to give the developer a means to manipulate different implementation of classes loaded by different classloaders to be able to interact with each other while still taking place in the same jvm environment and not via rmi/externalizing methods.
The current jvm is not exactly doing that.
So I think a much appropriate analogy would be The role of the senate as the jvm, classloaders and it's compiler counterpart. while the legislation as the class.