すいません、解決したと思ったのですが・・・

演習問題をやってたわけですが、問題の条件に、 insertの返り値は、リストの追加された位置を返す、 という条件付でした・・・
というわけで常にrootを返して root = insert というのはだめっぽいです・・・
関数のプロトタイプはさっきのまま、返り値はリストの追加された位置、という条件ではどのような方法がよいのでしょうか?