code: def broadcastable_arrays(draw, dtypes):
      num_arrays = st.shared(
          helpers.ints(min_value=2, max_value=5), key="num_arrays"
      )
      shapes = draw(
          num_arrays.flatmap(helpers.mutually_broadcastable_shapes)
      )
      dtypes = draw(dtypes)
      arrays = []
      for c, (shape, dtype) in enumerate(zip(shapes, dtypes), 1):
          x = draw(
              helpers.array_values(dtype=dtype, shape=shape),
              label=f"x{c}",
          ).tolist()
          arrays.append(x)
      return arrays
  
file_path: ivy/ivy_tests/test_ivy/test_frontends/test_numpy/test_manipulation_routines/test_changing_number_of_dimensions.py
imports: import numpy
  import ivy_tests.test_ivy.helpers
  from hypothesis import strategies
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_core.test_dtype import dtypes_shared
label_desc: Use image node_id 2 for calling a global function with example usage: broadcastable_arrays(draw, dtypes) and returns: arrays