id,node_id,number,state,locked,title,user,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,milestone,draft,head,base,author_association,auto_merge,repo,url,merged_by 448511050,MDExOlB1bGxSZXF1ZXN0NDQ4NTExMDUw,4221,closed,0,Change isinstance checks to duck Dask Array checks #4208,19578931," - [X] Closes #4208 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` I added the discussed `is_duck_dask_array(x)` function and replaced `isinstance(x, dask_array_type)` checks with `is_duck_dask_array(x)`. Existing tests are passing. I did not change `isinstance(x, dask_array_type)` checks in the testing modules since I am unsure if that is appropriate. As for additional tests, I am leaning towards testing Xarray ( Pint ( Dask ) ) ) objects as implemented in upcoming Pint v0.15 rather than a mock class, but I am open to discussion. I am unfamiliar with the release schedules of Pint and Xarray but I imagine that would influence which direction the testing should go.",2020-07-13T21:39:46Z,2020-09-02T18:32:45Z,2020-09-02T18:28:12Z,2020-09-02T18:28:12Z,dc2dd89b999b16e08ba51e9cf623896b01be7297,,,0,4e7409c94f4261df07b8e7d720dd00f5f7a27901,55480de69096cc5ae003f639c2c953066e829120,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/4221,