> -- Евгений Темиргалеев писал(а):
> С другой стороны, какой подход применить, чтобы (*) можно было проверять эффективно программными средствами?

COW? При попытке модификации элемента списка весь список копируется при количестве ссылок на него > 1. Такой подход используется в некоторых реализациях std::string. Скорее всего окажется неэффективен в случае многопоточности.

> -- Евгений Темиргалеев писал(а):
> Я в свое время использовал счетчики ссылок в узлах, но это было на C++ - без сборки мусора; но с этими счетчиками про эффективное использование памяти и min(L(a), L(b)) можно забыть сразу... В общем какие будут ваши мнения, господа?

Не очень понял, чем тебе помешали счетчики ссылок, если только ты не считал ссылки на каждый элемент.