code: def unpack(self, funcdef=None):
      named_args = []
      for star_count, el in self._split():
          if star_count == 1:
              arrays = self.context.eval_node(el)
              iterators = [
                  _iterate_star_args(self.context, a, el, funcdef)
                  for a in arrays
              ]
              for values in list(zip_longest(*iterators)):
                  # TODO zip_longest yields None, that means this would raise
                  # an exception?
                  yield None, get_merged_lazy_context(
                      [v for v in values if v is not None]
                  )
          elif star_count == 2:
              arrays = self.context.eval_node(el)
              for dct in arrays:
                  for key, values in _star_star_dict(
                      self.context, dct, el, funcdef
                  ):
                      yield key, values
          else:
              if el.type == "argument":
                  c = el.children
                  if len(c) == 3:  # Keyword argument.
                      named_args.append(
                          (
                              c[0].value,
                              LazyTreeContext(self.context, c[2]),
                          )
                      )
                  else:  # Generator comprehension.
                      # Include the brackets with the parent.
                      comp = iterable.GeneratorComprehension(
                          self._evaluator,
                          self.context,
                          self.argument_node.parent,
                      )
                      yield None, LazyKnownContext(comp)
              else:
                  yield None, LazyTreeContext(self.context, el)
  
      # Reordering var_args is necessary, because star args sometimes appear
      # after named argument, but in the actual order it's prepended.
      for named_arg in named_args:
          yield named_arg
  
imports: import re
  from parso.python import tree
  from jedi._compatibility import zip_longest
  from jedi import debug
  from jedi.evaluate import analysis
  from jedi.evaluate.lazy_context import LazyKnownContext, LazyKnownContexts, LazyTreeContext, get_merged_lazy_context
  from jedi.evaluate.filters import ParamName
  from jedi.evaluate.base_context import NO_CONTEXTS
  from jedi.evaluate.context import iterable
  from jedi.evaluate.param import get_executed_params, ExecutedParam
label_desc: Use image node_id 3 for calling the TreeArguments obj's underlying member method code with example usage: obj.unpack(funcdef) without return types