def combine(self, other):
    if hasattr(other, 'dtype'):
      combined_dtype = np.promote_types(self.dtype, other.dtype)
      if combined_dtype == self.dtype: 
        return self
      elif combined_dtype == other.dtype:
        return other
      else:
        return from_dtype(combined_dtype)
    else:
      raise IncompatibleTypes(self, other)
dataset/ETHPy150Open iskandr/parakeet/parakeet/ndtypes/scalar_types.py/ScalarT.combine/original