code: def _zip_dtype(seqarrays, flatten=False):
      newdtype = []
      if flatten:
          for a in seqarrays:
              newdtype.extend(flatten_descr(a.dtype))
      else:
          for a in seqarrays:
              current = a.dtype
              if current.names is not None and len(current.names) == 1:
                  # special case - dtypes of 1 field are flattened
                  newdtype.extend(_get_fieldspec(current))
              else:
                  newdtype.append(("", current))
      return np.dtype(newdtype)
  
imports: import itertools
  import numpy
  import numpy.ma
  from numpy import ndarray, recarray
  from numpy.ma import MaskedArray
  from numpy.ma.mrecords import MaskedRecords
  from numpy.core.overrides import array_function_dispatch
  from numpy.lib._iotools import _is_string_like
label_desc: Use image node_id 7 for calling a global function with example usage: _zip_dtype(seqarrays, flatten) and returns: np