Not sure if that is relevant to your point, but: For better and for worse, closing over any outer scope variables is syntactically free in Rust lambdas. You just access them.

It's syntactically free, but it can cause borrow-checker errors thst cause your code to outright fail to compile.

Yes, exactly. My concerns were semantic, not syntactic.