You were close to a solution, the original definition of iterate is (cons x (lazy-seq (iterate f (f x)))). Today it’s a java class, probably because of its constant IReduce implementation that doesn’t build up an immediate sequence.
EDIT: Here is the JIRA ticket describing the reason of creating the java class.