@[simp]
theorem
Option.forIn_some
{m : Type u_1 → Type u_2}
{α : Type u_3}
{β : Type u_1}
[Monad m]
(a : α)
(b : β)
(f : α → β → m (ForInStep β))
:
forIn (some a) b f = do
let x ← f a b
match x with
| ForInStep.done r => pure r
| ForInStep.yield r => pure r