When I learn Rust's
mut keyword and references types, everything seemed logical.
mut decleared, any member of a struct cannot change.
Until I read to this: https://doc.rust-lang.org/rust-by-example/fn/closures/capture.html
let mut count = 0; // A closure to increment `count` could take either `&mut count` or `count` // but `&mut count` is less restrictive so it takes that. Immediately // borrows `count`. //