theorem runMEvil
    (runM : {α : Type} → {m : Type → Type} → [Monad m] → m α → α) : False :=
  runM (none : Option Empty) |>.elim

theorem lawfulRunMEvil
    (runM : {α : Type} → {m : Type → Type} → [Monad m] → [LawfulMonad m] → m α → α)
    : False :=
  runM (none : Option Empty) |>.elim
