code: def test_binary_operation_type_precedence(
      op, arr_upcast, arr_downcast
  ):
      """Test proper dispatch on binary operators and NumPy ufuncs"""
      assert (
          type(op(arr_upcast, arr_downcast))
          == type(op(arr_downcast, arr_upcast))
          == type(arr_upcast)
      )
  
imports: from __future__ import annotations
  import operator
  import numpy
  import pytest
  import dask.array
  from dask.array import Array
  from dask.array.chunk_types import is_valid_array_chunk, is_valid_chunk_type
  from dask.array.utils import assert_eq
label_desc: Use image node_id 3 for calling a global function with example usage: test_binary_operation_type_precedence(op, arr_upcast, arr_downcast) without return types