Use Nickel for modular configuration.
- Lots of statically computed/defined value, a few inputs
- No statically computed/defined value, a few inputs
- allow extension: actually extending a module
- not allow exntension: using a module (prevent mistyping a field name etc.)
Because we are using "merge" to serve two purposes:
- defining new module by extending an existing module
- using a module (filling in inputs)