code: def get_nested_structs(dtype, cardinality, size, max_null_frequency):
      """
      Returns a list of arrays with random data
      corresponding to the dtype provided.
      ``dtype`` here should be a ``cudf.StructDtype``
      """
      list_of_arrays = []
  
      for name, col_dtype in dtype.fields.items():
          if isinstance(col_dtype, cudf.StructDtype):
              result_arrays = get_nested_structs(
                  col_dtype, cardinality, size, max_null_frequency
              )
              result_arrays = pa.StructArray.from_arrays(
                  result_arrays, names=col_dtype.fields.keys()
              )
          else:
              result_arrays = make_array_for_struct(
                  dtype=dtype._typ[name],
                  cardinality=cardinality,
                  size=size,
                  max_null_frequency=max_null_frequency,
              )
          list_of_arrays.append(result_arrays)
  
      return list_of_arrays
  
imports: import copy
  import random
  import string
  import uuid
  from multiprocessing import Pool
  import numpy
  import pandas
  import pyarrow
  from pyarrow import parquet
  import cudf
  from cudf.utils.dtypes import np_to_pa_dtype
label_desc: Use image node_id 16 for calling a global function with example usage: get_nested_structs(dtype, cardinality, size, max_null_frequency) and returns: list_of_arrays