Improve the efficiency of recursive code by re-writing it to be tail recursive. Professor Graham Hutton explains.