Rationale for move/copy/borrow syntax

Thanks, I think that this goes very much into the direction of expressing my gut feelings more clearly.

In which ways would such a language be better or worse compared to Rust? It could still be as safe as Rust I imagine (borrow checker). Would it be less explicit in a way that affects performance?

Just using modern C++ instead is not really a good option. The fundamental problem (besides its baroque complexity) is that it is very easy to write a short program that is very simple (no heap allocations, no pointers), but still segfaults because of a single & too much. And the compiler is unable to warn, even with maximum warnings enabled!