Rust Closures Confused Me Until I Understood Fn, FnMut, and FnOnce

For a long time I wrote Rust closures the same way I wrote lambdas in Java or functions in Python: I defined them, passed them around, and…