If you have an optopt option (e.g., --help) then you can have an argument with either a space or an equals sign (--help foo or --help=foo). However, optflagopt requires the = form (--help=foo works but --help foo is treated the same as --help), and this is not documented (and furthermore the help message does not indicate the = form is required, it looks like --help [TOPIC], not --help[=TOPIC] or --help=[TOPIC]).