Well... Rust is not a functional language, so it is not surprising that its closures are complicated.