>>986
// valueを挿入する
rootNode = insert(value, rootNode);
これよくみるけど、一番先っぽ以外は同じ値を代入しながら巻き戻っていくという意味では、なんだか嫌じゃない?