This might be for a separate discussion/PR, but I find the argument names a little misleading: it's not immediately clear whether these are input directories or output directories, for example:
genesis_block_directory is an output location, but
genesis_config_file is an input location (here, path, not a directory, but the same argument applies)
Originally posted by @mmagician in #1774 (comment)