code: def _key_index_iter(self) -> Iterator[Tuple[str, Any]]:
      
      for k, v in vars(self).items():
          yield k, v
docs: Allows for iteration over the ``KeyIndex`` values.
  
      This function is intended to be assigned to a newly created KeyIndex class. It enables iteration
      over the ``KeyIndex`` names and values. We don't use a mixin to avoid issues with YAML.
  
      Note:
          This isn't recursive like ``dataclasses.asdict(...)``. Generally, we don't want those recursive
          conversion properties. Plus, this approach is much faster.