conv =>
  rhs; unfold loop; rw [dif_pos hlt, bind_assoc]
case inr
α : Type u
β : Type v
γ : Type w
n : Nat
m : Type v → Type w
inst✝¹ : Monad m
inst✝ : LawfulMonad m
f : α → m β
a : α
x : SizedArray α n
i : Nat
hi₁ : i + 1 ≤ n + 1
hi₂ : i ≤ n
b : β
r : SizedArray β i
hlt : i < n
⊢ (do
      let b' ← f x[i]
      let y ← loop f x (i + 1) hlt (push r b')
      pure (cons b y)) =
    do
    let y ← loop f x i hi₂ r
    pure (cons b y)
no goals