>>20
cyclic data structureの例はwhy not Rust?のところで説明しとるやろがい

AST with both child and parent pointers
symbols -> decorations -> AST -> reference back to symbols

循環参照のメモリ管理を自動でやってくれる言語の場合は
親子の相互参照みたいなのを特殊な状況を除くと何も気にせず作れる
特別な手順を踏む必要がないだけでなくモデルと実装が乖離しない
CやRustではそうはいかない