I am also convinced that it’s not just an academic exercise to ensure that a language is extensible in terms of itself: If you can make a language ‘kernel’ flexible enough that major portions of a language can be implemented in terms of this language kernel by way of user-defined extensions, you can make much better promises with regard to user-extensibility for domain-specific extensions in the general case.