refactor: clean up some duplicated code when parsing options (#2047)Cleans up some duplicated code for parsing args/config files using macros/wrapper functions.