// Note that all the returned iterators MUST have the same type, but we cannot chain typed_index since Step is an unstable trait.
pub fn split_marked(&mut self, block_index: usize, mut splitter: impl FnMut(StateIndex) -> bool) {
pub fn mark_backward_closure(&mut self, block_index: BlockIndex, incoming_transitions: &IncomingTransitions) {
while it >= self.blocks[block_index].marked_split && self.blocks[block_index].has_unmarked() {
"Partition {self:?}, element {current_element} does not belong to block {block_index} as indicated by element_to_block"
let _ = partition.partition_marked_with(BlockIndex::new(0), &mut builder, |element, _| match element.value() {
let _ = partition.partition_marked_with(BlockIndex::new(2), &mut builder, |element, _| match element.value() {