{α α₂ β : Type u_1} →
  {m : Type u_1 → Type u_2} →
    (motive : Std.IterM m β → Sort u_3) →
      (it : Std.IterM m β) →
        ((it₁ : Std.IterM m (Std.IterM m β)) → motive { internalState := { it₁ := it₁, it₂ := none } }) →
          ((it₁ : Std.IterM m (Std.IterM m β)) →
              (it₂ : Std.IterM m β) → motive { internalState := { it₁ := it₁, it₂ := some it₂ } }) →
            motive it