code: def test_wait_on_collections():
      colls, cnt = collections_with_node_counters()
  
      # Create a delayed that depends on a single one among all collections
      @delayed
      def f(x):
          pass
  
      colls2 = wait_on(*colls)
      f(colls2[0]).compute()
      assert cnt.n == 16
  
      # dask.delayed
      assert colls2[0].compute() == colls[0].compute()
      # dask.array
      da.utils.assert_eq(colls2[1], colls[1])
      da.utils.assert_eq(colls2[2], colls[2])
      # dask.bag
      db.utils.assert_eq(colls2[3], colls[3])
      db.utils.assert_eq(colls2[4], colls[4])
      db.utils.assert_eq(colls2[5], colls[5])
      # dask.dataframe
      dd.utils.assert_eq(colls2[6], colls[6])
      dd.utils.assert_eq(colls2[7], colls[7])
      dd.utils.assert_eq(colls2[8], colls[8])
      dd.utils.assert_eq(colls2[9], colls[9])
  
imports: from __future__ import annotations
  import random
  import time
  from operator import add
  import pytest
  import dask
  import dask.bag
  from dask import delayed
  from dask.base import clone_key
  from dask.blockwise import Blockwise
  from dask.graph_manipulation import bind, checkpoint, chunks, clone, wait_on
  from dask.highlevelgraph import HighLevelGraph
  from dask.tests.test_base import Tuple
  from dask.utils_test import import_or_none
label_desc: Use image node_id 9 for calling a global function with example usage: test_wait_on_collections() without return types