docs: def as_shared_dtype(scalars_or_arrays):
      """Cast a arrays to a shared dtype using xarray's type promotion rules."""
      arrays = [asarray(x) for x in scalars_or_arrays]
      # Pass arrays directly instead of dtypes to result_type so scalars
      # get handled properly.
      # Note that result_type() safely gets the dtype from dask arrays without
      # evaluating them.
      out_type = dtypes.result_type(*arrays)
      return [x.astype(out_type, copy=False) for x in arrays]