`parser_class` is a necessary argument to `SelfCompletingArgumentParser().add_subparsers().add_parser()` (you can see an example in the commit message/PR). presumably when you have a sub-parser, you also want it to provide completion. the `add_parser()` method passes its arguments through to the parser it instantiates (see [line 1049](http://svn.python.org/view/python/trunk/Lib/argparse.py?view=markup)), so we essentially need to filter it out of the arguments passed to the super class.

if there's a better solution to ensuring that sub-parsers are `SelfCompletingArgumentParser`, that might be a better approach, but i think this might be the best way to make it happen.