Executes the function against the user input.
Executes the function against the user input.
If the user args contains 'help' or '-help', then 'ShowHelp' is returned
If the user args contains '-show=<path>' where <path> is one of: $ empty or "all" then ShowConfig is passed to 'f' with the full configuration $ any other path.to.a.configuration.value then ShowConfig is passed to 'f' with the configuration at the given path
Otherwise the function 'f' is called with ParsedConfig(Config)
the return type of the application
the command-line arguments to parse.
the main application which takes the Input and produces a type T
the result of the function
Extends the ArgsAsConfigParser to also offer the usual suspects - 'help' and '-show=<path/to/config>'