Cute technique, but it looks too syntactically sugary and dangerous.
For instance, if I wanted to make an immutable mutable, I'd rather be explicit:
let x = "foo".to_string();
let mut x = x;
Much clearer than passing ownership to a block and returning the expression.