added a bit of documentation for tail-call optimization