Combinatoric example

```no_run
#[derive(Debug, Clone)]
pub struct Options {
    turbo: bool,
    rest: Vec<OsString>,
}

pub fn options() -> OptionParser<Options> {
    let turbo = short('t')
        .long("turbo")
        .help("Engage the turbo mode")
        .switch();
    let rest = any::<OsString, _, _>("REST", |x| (x != "--help").then_some(x))
        .help("app will pass anything unused to a child process")
        .many();
    construct!(Options { turbo, rest }).to_options()
}

fn main() {
    println!("{:?}", options().run())
}
```


Derive example

```no_run
#[derive(Debug, Clone, Bpaf)]
#[bpaf(options)]
pub struct Options {
    #[bpaf(short, long)]
    /// Engage the turbo mode
    turbo: bool,
    #[bpaf(any("REST", not_help), many)]
    /// app will pass anything unused to a child process
    rest: Vec<OsString>,
}

fn not_help(s: OsString) -> Option<OsString> {
    if s == "--help" {
        None
    } else {
        Some(s)
    }
}

fn main() {
    println!("{:?}", options().run())
}
```


Output

`--help` keeps working for as long as `any` captures only intended values - that is it ignores
`--help` flag specifically

$ app --help

Usage: app [-t] [REST]...

Available positional items:

REST

app will pass anything unused to a child process

Available options:

-t, --turbo

Engage the turbo mode

-h, --help

Prints help information

You can mix `any` with regular options, here [`switch`](NamedArg::switch) `turbo` works because it goes
before `rest` in the parser declaration

$ app --turbo git commit -m "hello world"
Options { turbo: true, rest: ["git", "commit", "-m", "hello world"] }

"before" in the previous line means in the parser definition, not on the user input, here
`--turbo` gets consumed by `turbo` parser even the argument goes

$ app git commit -m="hello world" --turbo
Options { turbo: true, rest: ["git", "commit", "-m=hello world"] }

$ app -- git commit -m="hello world" --turbo
Options { turbo: false, rest: ["git", "commit", "-m=hello world", "--turbo"] }

$ app git commit -m="hello world" -- --turbo
Options { turbo: false, rest: ["git", "commit", "-m=hello world", "--turbo"] }

