About the ordered keys, most good languages have an ordered map type, either by accident or by design. Those few languages that don’t would need a list of key-value pairs. Given that this is for config, the performance cost of linear-scanning such a list would be negligible in realistic use cases.

Personally I think it’s a very good decision. Simply by declaring that objects are ordered, it becomes the case and it unlocks a whole lot of useful mechanisms.

> Simply by declaring that objects are ordered, it becomes the case and it unlocks a whole lot of useful mechanisms.

I wonder what it allows that unordered objects with sorted keys if needed couldn't allow.

To me , it just adds an extra constraint on the programming language, but most of all, I don't like it because it's simply surprising. If the syntax look like a json object it should behave like a json object. Now if it was completely different syntax [a = b, c = d, ...] or something of that sort, or sexp ((a,b), (c,d),...).