Kind of related, I think we should also make sure that the error path stays as an equal, not an afterthought. That makes Rust the robust language it is. When I read Rust code, I'm fully aware there could be errors.
What I mean, if I have a language with exceptions (let's say python), it is possible to write code that has no notion about errors, but they still can happen and get propagated. And then I don't know if the author decided propagating exceptions is the way to go, or if he just forget. Or I can just not notice this code might have to worry about errors when reading it. The error path feels less important in these languages, but it could be argued error handling is actually at least as important as the happy path.
And some more:
- Consistency with the current systax
- Not bloating the language too much