         parser.exit(message=formatter.format_help())
 
 
-class _SubParsersAction(Action):
-
-    class _ChoicesPseudoAction(Action):
-
-        def __init__(self, name, help):
+class _SubParsersAction extends Action
+
+    class _ChoicesPseudoAction extends Action
+
+        constructor: (options) -> 
+            name, help):
             sup = super(_SubParsersAction._ChoicesPseudoAction, self)
             sup.__init__(option_strings=[], dest=name, help=help)
 
-    def __init__(self,
+    constructor: (options) ->
                  option_strings,
                  prog,
                  parser_class,

            raise ValueError('nargs for store actions must be > 0; if you '
                             'have nothing to store, actions such as store '
                             'true or store const may be more appropriate')
        if const is not None and nargs != OPTIONAL:
            raise ValueError('nargs must be %r to supply const' % OPTIONAL)
        super(_StoreAction, self).__init__(
            option_strings=option_strings,
            dest=dest,

            help=help,
            metavar=metavar)

    __call__: (parser, namespace, values, option_string=null) ->
        setattr(namespace, @dest, values)


class _StoreConstAction extends Action

    constructor: (options) ->
                 option_strings,
                 dest,
                 const,
