Combinatoric example

```no_run
#[derive(Debug, Clone)]
pub struct Options {
    number: u32,
}

pub fn options() -> OptionParser<Options> {
    let number = long("number")
        .help(
            &[
                ("Very", Style::Emphasis),
                (" important argument", Style::Text),
            ][..],
        )
        .argument::<u32>("N");
    construct!(Options { number }).to_options()
}

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


Derive example

```no_run

const ARG: &[(&str, Style)] = &[
    ("Very", Style::Emphasis),
    (" important argument", Style::Text),
];

#[derive(Debug, Clone, Bpaf)]
#[bpaf(options)]
pub struct Options {
    #[bpaf(argument("N"), help(ARG))]
    number: u32,
}

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


Output

$ app --help

Usage: app --number=N

Available options:

    --number=N

Very important argument

-h, --help

Prints help information

