code: def zip_equal(*iterables):
      sentinel = object()
      for combo in itertools.zip_longest(
          *iterables, fillvalue=sentinel
      ):
          if sentinel in combo:
              raise ValueError("Iterables have different lengths")
          yield combo
  
imports: import math
  import itertools
  from dataclasses import replace
  from typing import Mapping, Any, Sequence, Iterable, Iterator, Union, Tuple, Dict, Set
label_desc: Use image node_id 15 for calling a global function with example usage: zip_equal() without return types