```
fn main() {
    let mut a = String::from("dd");
    let mut x = move || {
        a.push_str("string: &str");
    };
    x();
    x();
}

```

I have added `move` here to capture `a` but I am still able to call the `x` closure twice. Is `a` still borrowed as a mutable reference here? Why doesn't `move` force a move?