And that's usually good, because the whole point of Emacs is to make it easy to inspect and manipulate it. It's one case where information hiding and encapsulation - including lexical scope - get annoying very quickly.
It would probably require a lot more thought about how to make things so modifiable, yet avoid the global mutable state. Yet I think that is the work that will need to be done sooner or later, step by step, to keep the platform relevant.
And that's usually good, because the whole point of Emacs is to make it easy to inspect and manipulate it. It's one case where information hiding and encapsulation - including lexical scope - get annoying very quickly.