Safe, zero-overhead doubly-linked trees in Rust