@cache_readonly
def slabels(self) -> npt.NDArray[np.intp]:
    return self.labels.take(self._sort_idx)
@cache_readonly
def slabels(self) -> npt.NDArray[np.intp]:
    return self.labels.take(self._sort_idx)