{m : Type u_1 → Type u_2} →
  {α₁ β₁ : Type u_1} →
    [inst : Std.Iterator α₁ m β₁] →
      (motive : Option { out // ∃ it, it.IsPlausibleOutput out } → Sort u_3) →
        (x : Option { out // ∃ it, it.IsPlausibleOutput out }) →
          (x = none → motive none) →
            ((out₁ : { out // ∃ it, it.IsPlausibleOutput out }) → x = some out₁ → motive (some out₁)) → motive x