code: def arg(self, arg_name, *args, **kwargs):
          
          def wrapper(func):
              if not getattr(func, 'argopts', None):
                  func.argopts = {}
              func.argopts[arg_name] = (args, kwargs)
              return func
          return wrapper
docs: Decorator function configures any arg by given ``arg_name`` with
          supplied ``args`` and ``kwargs`` passing them transparently to
          :py:func:``argparse.ArgumentParser.add_argument`` function
  
          :param arg_name: arg name to configure
          :param type: str