docs: def all_blackboxes(indices):
      """Generator over all possible blackboxings of these indices.
  
      Args:
          indices (tuple[int]): Nodes to blackbox.
  
      Yields:
          Blackbox: The next |Blackbox| of ``indices``.
      """
      for partition in all_partitions(indices):
          # TODO? don't consider the empty set here
          # (pass `nonempty=True` to `powerset`)
          for output_indices in utils.powerset(indices):
              blackbox = Blackbox(partition, output_indices)
              try:  # Ensure every box has at least one output
                  validate.blackbox(blackbox)
              except ValueError:
                  continue
              yield blackbox