Couldn't we do something like this? I'm sure we have to change some of the other code since everything returned is now a list/tuple, but it should work.

<pre>
add_arg = None
    kwargs = {}
    if sys.version.startswith('2.6'):
        import optparse
        parser = optparse.OptionParser()
        add_arg = parser.add_option
        kwargs = {'action':'callback', 'callback':cb}
    else:
        import argparse
        parser = argparse.ArgumentParser()
        add_arg = parser.add_argument
        kwargs = {'action':'append', 'nargs':'*'}

    # COMMANDS
    add_arg('-A', '--append', dest='append', **kwargs)
</pre>