pub(crate) fn load() -> Result<Config, String>
Precedence is flag > file > default. Hand-rolled: the flag set exists only to override the file, so a parser crate would be more code than the thing it parses.