継続と末尾再帰最適化が義務になるので却ってハードル高くなんない?