Почему cons работает в этом контексте с lazy-seq, но conj не?
Это работает:
(defn compound-interest [p i]
(cons p (lazy-seq (compound-interest (* p (+ 1 i)) i))))
Это не делает (это исключает переполнение стека [1]):
(defn compound-interest2 [p i]
(conj (lazy-seq (compound-interest2 (* p (+ 1 i)) i)) p))
[1] О, я! Задание вопроса о переполнении стека в stackoverflow.