code: def _is_uniform_join_units(join_units: list[JoinUnit]) -> bool:
      """
      Check if the join units consist of blocks of uniform type that can
      be concatenated using Block.concat_same_type instead of the generic
      _concatenate_join_units (which uses `concat_compat`).
  
      """
      first = join_units[0].block
      if first.dtype.kind == "V":
          return False
      return (
          # exclude cases where a) ju.block is None or b) we have e.g. Int64+int64
          all(type(ju.block) is type(first) for ju in join_units)
          and
          # e.g. DatetimeLikeBlock can be dt64 or td64, but these are not uniform
          all(
              ju.block.dtype == first.dtype
              # GH#42092 we only want the dtype_equal check for non-numeric blocks
              #  (for now, may change but that would need a deprecation)
              or ju.block.dtype.kind in "iub"
              for ju in join_units
          )
          and
          # no blocks that would get missing values (can lead to type upcasts)
          # unless we're an extension dtype.
          all(
              not ju.is_na or ju.block.is_extension for ju in join_units
          )
      )
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, cast
  import warnings
  import numpy
  from pandas._libs import NaT, algos, internals, lib
  from pandas._libs.missing import NA
  from pandas.util._decorators import cache_readonly
  from pandas.util._exceptions import find_stack_level
  from pandas.core.dtypes.cast import ensure_dtype_can_hold_na, find_common_type
  from pandas.core.dtypes.common import is_1d_only_ea_dtype, is_scalar, needs_i8_conversion
  from pandas.core.dtypes.concat import concat_compat
  from pandas.core.dtypes.dtypes import ExtensionDtype, SparseDtype
  from pandas.core.dtypes.missing import is_valid_na_for_dtype, isna, isna_all
  from pandas.core.construction import ensure_wrapped_if_datetimelike
  from pandas.core.internals.array_manager import ArrayManager
  from pandas.core.internals.blocks import ensure_block_shape, new_block_2d
  from pandas.core.internals.managers import BlockManager, make_na_array
label_desc: Use image node_id 11 for calling a global function with example usage: _is_uniform_join_units(join_units) and returns: unknown, False