Missed one case with non-recursive call at tail position