Accumulators and Tail Recursion
lFrom previous slide:
ltoBinary2(0, Acc) => Acc;
ltoBinary2(N, Acc) =>
toBinary2(N/2, [N%2 | Acc]);

lAcc is called an ÒaccumulatorÓ argument:
lIt ÒaccumulatesÓ the result until the basis case is reached, the ÒunloadsÓ it.

lThis type of recursion is called Òtail recursionÓ:
lThere is no ÒcleanupÓ to be done after the recursive call to toBinary2, and therefore no need to ÒstackÓ calls.
lWe can effectively Òturn over controlÓ to the subordinate call;
giving a form of iteration.