code: def struct_types(draw, item_strategy=primitive_types):
      fields_strategy = st.lists(fields(item_strategy))
      fields_rendered = draw(fields_strategy)
      field_names = [field.name for field in fields_rendered]
      # check that field names are unique, see ARROW-9997
      h.assume(len(set(field_names)) == len(field_names))
      return pa.struct(fields_rendered)
  
imports: import datetime
  import sys
  import pytest
  import hypothesis
  import hypothesis.strategies
  import hypothesis.extra.numpy
  import numpy
  import pyarrow
label_desc: Use image node_id 3 for calling a global function with example usage: struct_types(draw, item_strategy) and returns: pa