Parsing
Parsing turns a configuration file into a spec type.
Validation
Parsing, which precedes validation, ensures the spec is structurally correct.
Lowering
Once a spec is validated, lowering converts it into a config type: the runtime form your program uses.
Diagnostics
When parsing or validation finds a problem, it does not throw.