user> (class (iterate inc 0))
I left it ISeq, a supertype of ∀a.(U (ASeq a) (LazySeq a)), as it seems reasonable to some to make it LazySeq-returning in the future.
(U (ASeq a) (LazySeq a))
clojure.core/iterate returns with 'cons', not lazy-seq.
on JIRA now