I'm rewriting a Rust function transform function from `&mut Foo` to `Foo -> Foo`. It might be a little slower, but ownership makes it harder to miss parts of the Foo type when I work with values.
The thing about memory ownership is that it's intrinsic (not incidental) complexity on a physical computer. If you don't want GC, you need ownership.
Not all languages provide ownership tooling though (e.g. C). Following Rust's success I suspect we'll see more ownership tools. https://twitter.com/migueldeicaza/status/1103427307451035648