Realized I didn't address part of your comment: yes, it's true that someone (or rather many someones) will eventually write down a concrete list of providers with a concrete list of settings that have real values. But we can't do that for them now -- all we can do is give them a working mechanism to do that later.

If I knew a set of providers and only had one deployment I cared about, I'd solve it with an additional settings file (that's actually how this implementation started). But we'll have many possible providers, many possible deployments, and each deployment can have dev, test, and prod configurations. It's a pretty gross problem.