code: def _iterate_argument_clinic(arguments, parameters):
      """Uses a list with argument clinic information (see PEP 436)."""
      iterator = arguments.unpack()
      for i, (name, optional, allow_kwargs) in enumerate(parameters):
          key, argument = next(iterator, (None, None))
          if key is not None:
              debug.warning(
                  "Keyword arguments in argument clinic are currently not supported."
              )
              raise ValueError
          if argument is None and not optional:
              debug.warning(
                  "TypeError: %s expected at least %s arguments, got %s",
                  name,
                  len(parameters),
                  i,
              )
              raise ValueError
  
          context_set = (
              NO_CONTEXTS if argument is None else argument.infer()
          )
  
          if not context_set and not optional:
              # For the stdlib we always want values. If we don't get them,
              # that's ok, maybe something is too hard to resolve, however,
              # we will not proceed with the evaluation of that function.
              debug.warning(
                  'argument_clinic "%s" not resolvable.', name
              )
              raise ValueError
          yield context_set
  
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 a global function with example usage: _iterate_argument_clinic(arguments, parameters) without return types