In rust, you can upgrade an immutable variable:
let v = Vec::new(); // Immutable let mut v = v; // Mutable v.push("hi"); // Succeeds <
let v = Vec::new(); // Immutable let mut v = v; // Mutable v.push("hi"); // Succeeds