Closures are the bread and butter of functional programming, but Rust made closures a complicated mess.
If you understand the borrow checker, closures are just not that much on top of things.
In fact I can’t remember the last time I had to fight with them.
Closures are a complicated mess. Functional programming languages hide the mess with garbage collection.