Quais propriedades dos contras permitem a eliminação dos contros do módulo de recursão da cauda?

Estou familiarizado com a idéia de eliminação básica da recursão da cauda, ​​em que funções que retornam o resultado direto de uma chamada para elas mesmas podem ser reescritas como loops iterativos. foo(...): # ... return foo(...) Também entendo que, como um caso especial, a função ainda pode...