Most cli parsers don't fully support the author's suggested model because it means you can't parse argv without knowing the flags in advance.
For example, the author suggests that a cli parser should be able to understand these two as the same thing:
program -abco output.txt
program -abcooutput.txt
That's only doable if by the time you're parsing argv, you already know `-a`, `-b`, and `-c` don't take a value, and `-o` does take a value.But this is a pain. All it gets you is the ability to save one space character, in exchange for a much complex argv-parsing process. The `-abco output.txt` form can be parsed without such additional context, and is already a pretty nice user interface.
For those of us who aren't working on ls(1), there's no shame in having a less-sexy but easier-to-build-and-debug cli interface.