MIR borrowck allows for immutable unique closure upvars to be mutated, e.g. ```Rust fn main() { let x = 0; (move || { x = 1; // mutating immutable local, ok on MIR, bad on AST })() } ```