Adding a nontrivial new config type is hard
Our configuration arrangements can make it hard to add a new nontrivial kind of configuration. We should review what decisions the programmer must make, and what other work the programmer must necessarily do, in these cases, and try to arrange that the expression in code is as straightforward as possible and that there's as little makework and complication as possible.