I do not find this particularly interesting because the problem has been solved by several projects already, but this is a programmable configuration file.
i.e. you can write code statements and it transpiles down to other formats
i.e. you can write code statements and it transpiles down to other formats
Then there is need to generate that new configuration file as things getting complicated.
The current approach (of all these current languages, pkl looks like is the same) is to painfully refactor the ones you want to change to a parameter file, i.e. a manual data/code separation and you template that.
It would be nice just say this configuration file is now a template file with A B C fields as parameters, and load it up in our new configuration file for templating with good trackability and performance.
It is also easy to migrate to other languages, as configuration now can turn into code cheaply.