code: def _is_string(item) -> bool:
      """Check if the object contains string or bytes."""
      if isinstance(item, (bytes, str)):
          return True
      elif isinstance(item, (tuple, list)) and all(
          _is_string(x) for x in item
      ):
          return True
      elif isinstance(item, np.ndarray) and (  # binary or unicode
          item.dtype.kind in ("U", "S") or item.dtype == object
      ):
          return True
      return False
  
imports: from __future__ import annotations
  import abc
  import collections
  import dataclasses
  from typing import Any, Mapping, Union
  import numpy
  from tensorflow_datasets.core import utils
  from tensorflow_datasets.core.features import feature
  from tensorflow_datasets.core.utils import dtype_utils
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
  from tensorflow_datasets.proto import tf_example_pb2
  from tensorflow_datasets.proto import tf_feature_pb2
label_desc: Use image node_id 2 for calling a global function with example usage: _is_string(item) and returns: False, True, True, True