structure EmptyM (_ : Type u) : Type v instance : Monad EmptyM where pure _ := ⟨⟩ bind _ _ := ⟨⟩ theorem runMEvil (runM : ∀α m, [Monad m] → m α → α) : False := runM PEmpty EmptyM ⟨⟩ |>.elim instance : LawfulMonad EmptyM where map_const := by intros; trivial id_map := by intros; trivial seqLeft_eq := by intros; trivial seqRight_eq := by intros; trivial pure_seq := by intros; trivial bind_pure_comp := by intros; trivial bind_map := by intros; trivial pure_bind := by intros; trivial bind_assoc := by intros; trivial theorem lawfulRunMEvil (runM : ∀α m, [Monad m] → [LawfulMonad m] → m α → α) : False := runM PEmpty EmptyM ⟨⟩ |>.elim