- Simplest, provide defaults. Ask for parsing and return defaults.
- Client can define config type to be read adding type safety to the config
- Client can define which locations should be checked to parse additional configuration
- Intermediate representation for writing to and reading from in a type safe way.
- Type safe config - https://hackage.haskell.org/package/deiko-config-0.5.0.0/docs/Data-Config.html
- Configurator - Bryan O'Sullivan https://github.com/bos/configurator