docs: def opt(self, name, help, abbrev=None,
              type=None, choices=None, metavar=None, nargs=None):
          """Describe an option"""
          kw = dict(help=help, type=type, choices=choices, metavar=metavar,
                    nargs=nargs)
          default = self.argdict[name]
          if default is not NODEFAULT:
              kw['default'] = default
              kw['metavar'] = metavar or str_choices(choices) or str(default)
          abbrev = abbrev or '-' + name[0]
          abbrevs = set(args[0] for args, kw in self.all_arguments)
          longname = '--' + name.replace('_', '-')
          if abbrev == '-h' or abbrev in abbrevs:
              # avoid conflicts with predefined abbreviations
              self._add(name, longname, **kw)
          else:
              self._add(name, abbrev, longname, **kw)