And if you're already assuming unicode (which all these "plaintext" tools do), why aren't we just using unicode bullet points instead of dashes and *? Why not just use unicode bold and italics instead of *hacks*?
In a way it is the same with programming languages. I think there are now programming languages supporting unicode operators for example, like =, ≠, ∧, ∨, ∩, ∪. But they suffer from the same problem. How to input them, how to search for them?
To be able to search and grep?