Indirect ownership, shallow borrow and self-referential data structures in Rust | Heykuki News