I'm not completely sold on this. One pattern in *nix CLI apps is to use `--` to indicate "read from stdin instead of a file". With this `unless`, there's no way to detect, for example:

```bash
$ myapp --
```

vs

```bash
$ myapp
```

because `argument_groups` would be `[ [] ]` in both cases.