Por que o Datomic gera o mesmo ID temporário duas vezes seguidas ao iterar?

Isso produzirá dois ids diferentes, o que é ótimo:

#db/id[:db.part/user]
#db/id[:db.part/user]

mas qualquer coisa como o seguinte (eu tentei muitas idéias até agora) irá produzir o mesmo id duas vezes, o que não é o que eu quero:

(repeatedly 2 (fn [] #db/id[:db.part/user]))
(for [n [1 2]] #db/id[:db.part/user])

Todos rendem algo como

(#db/id[:db.part/user -1000774] #db/id[:db.part/user -1000774])

onde o número produzido é o mesmo para cada chamada.

O que eu realmente quero é que as chamadas NÃO produzam um número, de modo que eu possa simplesmente adicionar os dados produzidos através de uma transação.

Alguma ideia?

Só para ficar claroa documentação diz: "Cada chamada para tempid produz um id temporário único".

[Editado após comentário por @ maxthoursie querepeat estaria tendo esse problema em qualquer caso.]

questionAnswers(2)

yourAnswerToTheQuestion