def _Bounds(parser, propObj, propCls, propName, propHelp, shortArg, longArg,
    atype=None):
    """Adds an argument to the given parser for the given :class:`.Bounds`
    property. See the :func:`_String` documentation for details on the
    parameters.
    """
    ndims = getattr(propCls, propName)._ndims
    real = getattr(propCls, propName)._real
    metavar = tuple(['LO', 'HI'] * ndims)
    if atype is None:
        if real:
            atype = float
        else:
            atype = int
    parser.add_argument(shortArg, longArg, help=propHelp, metavar=metavar,
        type=atype, nargs=2 * ndims)
