As for the default set of accepted types for various convertors, if we
could choose any syntax we liked, something like "accept=+{NoneType}"
would be much better IMO.
In theory Argument Clinic could use any syntax it likes. In
practice, under the covers we tease out one or two bits of
non-Python syntax, then run ast.parse over it. Saved us a lot of
work.
"s: accept={str,NoneType}" is a legal Python parameter declaration;
"s: accept+={NoneType}" is not. If I could figure out a clean way
to hack in support for += I'll support it. Otherwise you'll be
forced to spell it out.