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.]