docs: def on_separate_dimensions(self):
          """
          Checks whether the kernels in the combination act on disjoint subsets
          of dimensions. Currently, it is hard to asses whether two slice objects
          will overlap, so this will always return False.
          :return: Boolean indicator.
          """
          if np.any([isinstance(k.active_dims, slice) for k in self.kernels]):
              # Be conservative in the case of a slice object
              return False
          else:
              dimlist = [k.active_dims for k in self.kernels]
              overlapping = False
              for i, dims_i in enumerate(dimlist):
                  for dims_j in dimlist[i + 1:]:
                      if np.any(dims_i.reshape(-1, 1) == dims_j.reshape(1, -1)):
                          overlapping = True
              return not overlapping