I'm not sure if this is a feature.
argparse::ArgumentParser program {"program"};
auto &group = program.add_mutually_exclusive_group(true);
group.add_argument("-a").flag();
group.add_argument("-b").flag();
program.parse_known_args({"program", "-a", "-b"}); // did not throw
// program.parse_args({"program", "-a", "-b"}); // throws