¿Deben las estructuras de datos circulares de Clojure involucrar constructos como ref?

Hoy he visto algunas referencias para atar las estructuras de datos circulares y nudos. He estado leyendo algunas respuestas, y las soluciones parecen involucrar el uso de una referencia para señalar al jefe de la lista. Un particularQue pregunta mostró un ejemplo de Haskell, pero no conozco a Haskell lo suficiente como para saber si el ejemplo estaba usando el equivalente de Haskell de una referencia.

¿Hay alguna manera de hacer que una estructura de datos de Clojure sea circular sin usar una referencia o construcción similar?

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta