Specifying and Verifying Higher-order Rust Iterators