     parse_shorts : parse_shorts
     parse_args   : parse_args
     printable_usage: printable_usage
-

        when arg not in allowedargs

    argv    = if kwargs.argv is undefined \
              then process.argv[1..] else kwargs.argv
    name    = if kwargs.name is undefined \
              then null else kwargs.name
    help    = if kwargs.help is undefined \

        formals = @children.join ', '
        "#{@constructor.name}(#{formals})"

    match: -> throw new Error("""classes inheriting from Pattern
                                 must overload the match method""")

    flat: ->
