http://web.archive.org/web/20111030134120/http://www.sidhe.org/~dan/blog/archives/000211.html (great tail recursion article - best i've seen! SO doesn't really explain it unless you already knew it to begin with, but here's the link:http://stackoverflow.com/questions/310974/what-is-tail-call-optimization)
I found it useful to read because it deals with the stack. Basically when an exception occurs you need to mess with the stack so.. -- https://mail.python.org/mailman/listinfo/python-list