sub-command friendly, like Getopt::Compact