∀ {m : Type w → Type w'} {α : Type u} {β : Type v} {γ : Type w} [inst : Monad m] [LawfulMonad m]
  {x : Std.Iterators.HetT m α} {f : α → Std.Iterators.HetT m β} {g : (b : β) → (x.bind f).Property b → m γ},
  (x.bind f).prun g = x.prun fun a ha => (f a).prun fun b hb => g b ⋯