code: def find_additional_configs(configs, seen=None):
      if seen is None:
          seen = set()
  
      for config in configs:
          if config in seen:
              continue
          elif hasattr(config, "__args__"):
              yield from find_additional_configs(config.__args__, seen)
              continue
          elif not isinstance(config, type) or not issubclass(
              config, ConfigBase
          ):
              continue
  
          seen.add(config)
          yield config
          annotations, defaults = config.annotations_and_defaults()
          yield from find_additional_configs(annotations.values(), seen)
  
imports: import collections
  import contextlib
  import itertools
  import json
  import os
  import typing
  from pytext.config import ConfigBase, ExportConfig, PyTextConfig
  from pytext.config.component import Registry
  from pytext.config.serialize import config_to_json
  from pytext.utils.file_io import PathManager
  from sphinx.ext.napoleon import GoogleDocstring
  from sphinx.pycode import ModuleAnalyzer
label_desc: Use image node_id 2 for calling a global function with example usage: find_additional_configs(configs, seen) without return types