Tail Call Transform - a python decorator the rewrites recursive tail calls into iterations