code: def _assert_series_nested_values_equal(
      left: Series,
      right: Series,
      *,
      check_exact: bool,
      rtol: float,
      atol: float,
      categorical_as_str: bool,
  ) -> None:
      # compare nested lists element-wise
      if _comparing_lists(left.dtype, right.dtype):
          for s1, s2 in zip(left, right):
              if s1 is None or s2 is None:
                  raise_assertion_error(
                      "Series", "nested value mismatch", s1, s2
                  )
  
              _assert_series_values_equal(
                  s1,
                  s2,
                  check_exact=check_exact,
                  rtol=rtol,
                  atol=atol,
                  categorical_as_str=categorical_as_str,
              )
  
      # unnest structs as series and compare
      else:
          ls, rs = left.struct.unnest(), right.struct.unnest()
          for s1, s2 in zip(ls, rs):
              _assert_series_values_equal(
                  s1,
                  s2,
                  check_exact=check_exact,
                  rtol=rtol,
                  atol=atol,
                  categorical_as_str=categorical_as_str,
              )
  
file_path: polars/py-polars/polars/testing/asserts/series.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  from polars.datatypes import FLOAT_DTYPES, Array, Categorical, Decimal, Float64, List, String, Struct, unpack_dtypes
  from polars.exceptions import ComputeError
  from polars.series import Series
  from polars.testing.asserts.utils import raise_assertion_error
label_desc: Use image node_id 3 for calling a global function with example usage: _assert_series_nested_values_equal(left, right) without return types