I think the current Rust's approach works better, and it's entirely sufficient. Immutability is not a goal in itself, only a tool.
Immutability is a tool to prevent mistakes caused by unexpected mutation, and it's unexpected primarily when it's coming from shared mutable state. Some languages fix it by forbidding mutability entirely, but Rust fixes it by forbidding sharing when the data is mutable. With unique ownership, it turns out to be sufficient for immutability/exclusivity to be a property of how the data is accessed, not the data itself.
This has incredibly nice property of being able to easily initialize data while it's mutable, then share it immutably, and even get it back as mutable to update or destructure it. In other languages that I know, going from mutable to immutable is always one-way-only, and loses this flexibility.