code: def _all_non_dicts_equal(values):
      if _contain_arrays(values):
          return _all_arrays_equal(values)
      if _contain_collections_of_arrays(values):
          # in the real world, the `ancillary_variables` attribute may be
          # List[xarray.DataArray], this means our values are now
          # List[List[xarray.DataArray]].
          # note that this list_of_arrays check is also true for any
          # higher-dimensional ndarray, but we only use this check after we have
          # checked any_arrays so this false positive should have no impact
          return _all_list_of_arrays_equal(values)
      return _all_values_equal(values)
  
imports: from collections.abc import Collection
  from datetime import datetime
  from functools import partial, reduce
  from operator import eq, is_
  import numpy
  from satpy.writers.utils import flatten_dict
label_desc: Use image node_id 7 for calling a global function with example usage: _all_non_dicts_equal(values) and returns: _all_values_equal, _all_arrays_equal, _all_list_of_arrays_equal