>>459
return New;
にするとrootの手前に挿入するときに問題発生するんだよなぁ。
rootの手前が新しいrootになっても元のrootは書き換わらないから。

絶対になにか根本的に重要な事実が伏せられている気がする。
(たとえばrootはダミーで要素を入れるのはrootの次以降とか)