Se a única construção de loop que não consome pilha no Clojure é "recorrente", como esse lazy-seq funciona?

A página ClojureDocs paralazy-seq dá um exemplo de gerar uma preguiçosa-seq de todos os números positivos:

(defn positive-numbers
  ([] (positive-numbers 1))
  ([n] (cons n (lazy-seq (positive-numbers (inc n))))))

Esse lazy-seq pode ser avaliado para índices muito grandes sem gerar um StackOverflowError (diferente do exemplo de peneira na mesma página):

user=> (nth (positive-numbers) 99999999)
100000000

E serecur pode ser usado para evitar o consumo de quadros de pilha em uma função recursiva, como é possível que esse exemplo preguiçoso-seq possa aparentemente se chamar sem sobrecarregar a pilha?

questionAnswers(3)

yourAnswerToTheQuestion