i agree that the current list manipulations are clunky. i can add options after creating the parser, though, or so you led me to believe at an earlier point. if parser behaved like a list, then you could have parser.append(Option("-n", type="int", dest="num_things")) which strikes me as not clunky and still general.