code: def register_action(*args, **kwarg):
      '''
      Decorator for an action, the arguments order is not relevant, but it's best
      to use the same order as in the docopt for clarity.
      '''
      def decorator(fun):
          KeywordArgumentParser._action_dict[frozenset(args)] = fun
          return fun
      return decoratof register_action(*args, **kwarg):
      '''
      Decorator for an action, the arguments order is not relevant, but it's best
      to use the same order as in the docopt for clarity.
      '''
      def decorator(fun):
          KeywordArgumentParser._action_dict[frozenset(args)] = fun
          return fun
      return decorator
docs: Decorator for an action, the arguments order is not relevant, but it's best
      to use the same order as in the docopt for clarity.