I think this is a good example of complex lifetimes involving reference cycles that can
not be safely modeled by eg. Rust.
Is the next step formal methods (theorem proving) or is there a less complex lifetime system still out there that could model this?