∀ {m : Type u_1 → Type u_2} {α : Type u_1} (it : Std.IterM m α)
  (h : it.internalState.pos < it.internalState.array.size),
  it.internalState.array =
      { internalState := { array := it.internalState.array, pos := it.internalState.pos + 1 } }.internalState.array ∧
    { internalState := { array := it.internalState.array, pos := it.internalState.pos + 1 } }.internalState.pos =
        it.internalState.pos + 1 ∧
      ∃ (x : it.internalState.pos < it.internalState.array.size),
        it.internalState.array[it.internalState.pos] = it.internalState.array[it.internalState.pos]