処理系での末尾再帰最適化って、そんなに難しいのかな...
なんかちょっと頭のいい人ならすぐできそうな気もするんだが...
(まぁ、俺には難しいんだが...)