def METHOD_NAME():
    import dask.array as da
    def read_as_dask_array(func, elem_name: str, elem, iospec):
        if iospec.encoding_type in (
            "dataframe",
            "csr_matrix",
            "csc_matrix",
            "awkward-array",
        ):
            # Preventing recursing inside of these types
            return read_elem(elem)
        elif iospec.encoding_type == "array":
            return da.from_zarr(elem)
        else:
            return func(elem)
    adata = gen_adata((1000, 100))
    z = zarr.group()
    write_elem(z, "/", adata)
    dask_adata = read_dispatched(z, read_as_dask_array)
    assert isinstance(dask_adata.layers["array"], da.Array)
    assert isinstance(dask_adata.obsm["array"], da.Array)
    assert isinstance(dask_adata.uns["nested"]["nested_further"]["array"], da.Array)
    expected = read_elem(z)
    actual = dask_adata.to_memory(copy=False)
    assert_equal(expected, actual)