Самая простая реализация объекта копирования при записи, о которой я могу подумать, — это использование указателя с подсчетом ссылок, возможно, с блокировками.
Но в этом случае существует очевидная проблема отсутствия циклических ссылок.
Как это можно эффективно решить, возможно, с совершенно другой реализацией?
Задача ещё не решена.