$ program --port 8080 --config some/path Options {port = 8080, daemonize = False, config = Just "some/path", args = []} $ program --port 8080 --config some/path --foo true unrecognized option `--foo' unknown argument: true # exit-code 1 $ program --port 8080 --daemonize --config some Options {port = 8080, daemonize = True, config = Just "some", args = []} $ program --port foo cannot parse as INTEGER: foo # exit-code 1 $ program missing option: --port=INTEGER # exit-code 1 $ program --help program [OPTIONS] --port=INTEGER --daemonize --config=STRING (optional) --args=STRING (multiple possible) -h --help show help and exit