code: def _slice_mostly_sorted(array, keep, rest, ind=None):
      
      if ind is None:
          ind = np.arange(len(array))
      idx = np.argsort(np.concatenate([keep, ind[rest]]))
  
      slices = []
      if keep[0] > 0:  # avoid creating empty slices
          slices.append(slice(None, keep[0]))
      slices.append([keep[0]])
      windows = zip(keep[:-1], keep[1:])
  
      for l, r in windows:
          if r > l + 1:  # avoid creating empty slices
              slices.append(slice(l + 1, r))
          slices.append([r])
  
      if keep[-1] < len(array) - 1:  # avoid creating empty slices
          slices.append(slice(keep[-1] + 1, None))
      result = da.concatenate([array[idx[slice_]] for slice_ in slices])
      return result
docs: Slice dask array `array` that is almost entirely sorted already.
  
      We perform approximately `2 * len(keep)` slices on `array`.
      This is OK, since `keep` is small. Individually, each of these slices
      is entirely sorted.
  
      Parameters
      ----------
      array : dask.array.Array
      keep : ndarray[Int]
          This must be sorted.
      rest : ndarray[Bool]
      ind : ndarray[Int], optional
  
      Returns
      -------
      sliced : dask.array.Array