docs: def apply_array_ufunc(func, *args, dask='forbidden'):
      """Apply a ndarray level function over ndarray objects."""
      if any(isinstance(arg, dask_array_type) for arg in args):
          if dask == 'forbidden':
              raise ValueError('apply_ufunc encountered a dask array on an '
                               'argument, but handling for dask arrays has not '
                               'been enabled. Either set the ``dask`` argument '
                               'or load your data into memory first with '
                               '``.load()`` or ``.compute()``')
          elif dask == 'parallelized':
              raise ValueError("cannot use dask='parallelized' for apply_ufunc "
                               'unless at least one input is an xarray object')
          elif dask == 'allowed':
              pass
          else:
              raise ValueError('unknown setting for dask array handling: {}'
                               .format(dask))
      return func(*args)