Functional, Persistent Data Structures in Rust