Uma maneira idiomática de escrever código Clojure para ler repetidamente linhas do console?

Recentemente, eu estava escrevendo um pequeno script CLI que precisava ler repetidamente as datas do console (o número de datas de leitura foi calculado e poderia ser diferente a cada vez). Exemplo de código Ruby para lhe dar a ideia:

dates = x.times.collect { print "Enter date: "; Date.parse(gets.chomp) }

Apenas por isso, eu escrevi o script em Clojure e acabei usando um código bastante feio comswap! eloop...recur. Eu estou querendo saber qual é a maneira mais limpa de conseguir o efeito desejado no Clojure. (Clojure temdotimes, mas não retém os valores retornados da avaliação do corpo ... como pode ser esperado de uma linguagem que enfatiza a programação funcional pura.)

questionAnswers(3)

yourAnswerToTheQuestion