code: def zip_nested(arg0, *args, **kwargs):
      """Zip data struct together and return a data struct with the same shape."""
      # Python 2 do not support kwargs only arguments
      dict_only = kwargs.pop("dict_only", False)
      assert not kwargs
  
      # Could add support for more exotic data_struct, like OrderedDict
      if isinstance(arg0, dict):
          return {
              k: zip_nested(*a, dict_only=dict_only)
              for k, a in zip_dict(arg0, *args)
          }
      elif not dict_only:
          if isinstance(arg0, list):
              return [
                  zip_nested(*a, dict_only=dict_only)
                  for a in zip(arg0, *args)
              ]
      # Singleton
      return (arg0,) + args
  
imports: import base64
  import contextlib
  import functools
  import io
  import itertools
  import logging
  import os
  import random
  import re
  import shutil
  import string
  import sys
  import textwrap
  import threading
  import typing
  from typing import Any, Callable, Dict, Iterator, List, NoReturn, Optional, Tuple, Type, TypeVar, Union
  import uuid
  from absl import logging
  from etils import epath
  from six.moves import urllib
  from tensorflow_datasets.core import constants
  from tensorflow_datasets.core.utils import type_utils
label_desc: Use image node_id 8 for calling a global function with example usage: zip_nested(arg0) and returns: unknown, unknown, unknown