本筋と違うと話だというならそれはそれで

> 要素!=要素の管理者であっても、違っていても、どちらも親(管理者)が欲しい時はあるんじゃないか?
そういう時があることは否定はしない。
しかしコンテナ自体(管理者)を操作(コンテナから要素の値のコピーや参照を取得)する権利があるものと
取得した値を利用するだけの権利しかないものとをはっきり分離して使い分けたほうが良いときも多い。
 container c;
 fuga(c.firstnode());
みたいな時にfugaにコンテナを操作する権利(コンテナそのものや他の要素の削除なんかも自由自在)を
与えることになり得る設計は一般的にあまり望ましくないだろう。