As the new command line args have crept up in functionality, we are now approaching argparse-level code, which is exactly what we wanted to avoid. We should be using argparse for everything in flags&aliases now, and only use the KV loader for explicit Class.trait=value arguments.
The Parsers should be generated from similar data structures to the current Flags&Aliases, and not hand-written.
+1. The custom argument parsing code leads to some interesting/annoying gotchas in corners not quite explored, e.g. #570.
Closed by PR #674