on multiple occasions, particularly for debug blocks I am conditionally using or even conditionally including via pre-processing.
So I think that would very useful.
The namelist feature is indeed extremely useful, since it integrates directly with the language and it is very easy to load data from a human readable file directly into variables, and let the compiler check it.
However, as mentioned above, it has some fundamental limitations to truly live to its (modern) potential and support other formats like TOML, JSON, etc., allowing the user to implement a new format, and so on. Improving either namelist, or adding a new feature for that would be great.
Since JSON keys are case-sensitive or could contain UTF-8 characters, a separate key word is necessary. If omitted it could default to the name of the variable in lower-case (the limited reflection available in Fortran)
Admittedly, there are a few issues when it comes to JSON arrays which are allowed to contain different types and dictionaries (map these to derived types?).
I realize it is only a cosmetic detail or my OCD, but whenever / appears (common block, namelists etc) I personally think it should be considered obsolete code, therefore I have never touched the namelists. It would be good to find some more modern syntax that would be consistent with the rest of the language. But it is not yet time for this kind of discussion!