more specifically, the part of the input that is not part of any
successfully parsed subcommand invocation. "remaining" is not
completely accurate because this works even when all input
is processed.
- addFlagReadParams was previously named addFlagReadParam, similarly
addFlagStringParams/addFlagStringParam.
- The "singular" variants have semantics that did not exist before:
to match exactly once and thus having type `CmdParser f out p` instead
of `CmdParser f out [p]`.