I understand. In what way would you like to have it enforced? I mean, devs would still need to inherit from an abstract base controller, right? Or did I get the idea wrong and there should there some other magic involved?
In any case: enforcement means that it is always there, even when it is not needed/wanted. See the log module and also beuser module for some actions where you would explicitly need to disable the module template again.
I’m pretty sure that this will be used, especially if we switch core modules to use it and make it part of extension_builder module code generation. Besides that, not using it would make it way more complicated for devs to get reasonable backend module output. Imho simplicity always wins and I personally can’t see a way to make it simpler for devs (see examples above). But as I said, if your proposal enables an even more simple way to achieve the same, I’m more than happy to support the efforts to get it in. It is just, that I currently can’t image how it can be simpler, so you would need to help me out here