Tail Recursion
<ol style="margin: 0px; padding: 0px 0px 0px 2.25em; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Lato, Helvetica, Arial, sans-serif; vertical-align: baseline; background-image: none; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(34, 34, 34);"><li style="margin-top: 0px; margin-right: 0px; margin-bottom: inherit; margin-left: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none;"><span class="ib-brac" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none;">(</span><span class="ib-content" style="margin: 0px; padding: 0px; border: 0px; font-style: italic; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none;"><a href="https://en.m.wiktionary.org/wiki/programming#Noun" title="programming" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none; color: rgb(107, 75, 161);">programming</a></span><span class="ib-brac" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none;">)</span> The technique of writing a <a href="https://en.m.wiktionary.org/wiki/function" title="function" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none; color: rgb(107, 75, 161);">function</a> so that <a href="https://en.m.wiktionary.org/wiki/recursive" title="recursive" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none; color: rgb(107, 75, 161);">recursive</a> calls are only done immediately before function return, particularly when <a href="https://en.m.wiktionary.org/wiki/recursive" title="recursive" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none; color: rgb(107, 75, 161);">recursive</a> <a href="https://en.m.wiktionary.org/wiki/control_structure" title="control structure" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none; color: rgb(107, 75, 161);">control structures</a> are used in place of <a href="https://en.m.wiktionary.org/wiki/iterative" title="iterative" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; background: none; color: rgb(107, 75, 161);">iterative</a>ones.</li></ol>