My wishlist for a perfect declarative language (configs being one primary use) is something like:

* Not turing complete.

* Imports/exports

* Comments

* Variables

* Statically typed (amongst other benefits, allows you to use it for RPC, like protobuf)

I've started implementing such a language 2 or 3 times, but JSON is just barely good enough that I haven't been able to justify the effort to flesh it out. Taking JSON and adding types (inline in the grammar; schemas aren't good enough) and comments would get us 80% of the way there.