docs: def all_coarse_grains(indices):
      """Generator over all possible |CoarseGrains| of these indices.
  
      Args:
          indices (tuple[int]): Node indices to coarse grain.
  
      Yields:
          CoarseGrain: The next |CoarseGrain| for ``indices``.
      """
      for partition in all_partitions(indices):
          for grouping in all_groupings(partition):
              yield CoarseGrain(partition, grouping)