The constraints are important. They're what let you code safely, and also give the compiler the ability to optimize better.
Re:Benefits of named return values in Go
by heythere124 on Friday June 30, 2017 @10:09AM
(#14670806)
Not sure those optimisations are worth much. And it's only safety by forcing lowest common denominator code and making you justify everything to a dumb compiler. Rust serves a niche, but it is a tight niche IMO.
In general I don't think Rust actually adds much abstraction that isn't already in say Python. What it does is enforce tight constraints.