>>474,>>476 は r を変えてないからダメでしょう。
>>475のように処理されると思いますよ。
car部の処理があるから、そこのところで末尾再帰じゃなくなるだけで。