fn sequential_update<T: Idx>(
    self_update: impl FnMut(T) -> bool,
    it: impl Iterator<Item = T>
) -> bool