docs: def parse_type(self, hdat, dataobj=None):
          '''
          Parses the dtype out of the header data or the array, depending on which is given; if both,
            then the header-data overrides the array; if neither, then np.float32.
          '''
          try:    dataobj = dataobj.dataobj
          except Exception: pass
          dtype = np.asarray(dataobj).dtype if dataobj else self.default_type()
          if   hdat and 'type'  in hdat: dtype = np.dtype(hdat['type'])
          elif hdat and 'dtype' in hdat: dtype = np.dtype(hdat['dtype'])
          return dtype