```
# bird.py
from argparse import ArgumentParser, SUPPRESS

parser = ArgumentParser(argument_default=SUPPRESS)
parser.add_argument('--dead', action='store_true')
subparsers = parser.add_subparsers()
subparser = subparsers.add_parser('parrot', parents=[parser], add_help=False)
subparser.add_argument('--volts', type=int)
args = parser.parse_args()
print(args)

```

The script `bird.py` above works as expected on Python 3. But on Python 2.7 it won't parse arguments:

```
$ python3 bird.py parrot --volts 4000000
Namespace(volts=4000000)
$ python2 bird.py parrot --volts 4000000
usage: bird.py parrot [-h] [--dead] [--volts VOLTS] {parrot} ...
bird.py parrot: error: too few arguments

```

There aren't any py3-only features used in the code as far as I can see. Why doesn't it work the same? How to update this code so the CLI can also support Python 2.7, **without modifying its Python 3 behavior in any way**?