{m : Type u → Type v} →
  {n : Type u → Type w} →
    {motive : MonadEval m n → Sort u_1} →
      (t : MonadEval m n) → ((monadEval : {α : Type u} → m α → n α) → motive { monadEval := monadEval }) → motive t