I use org.clojure/tools.namespace "0.3.0-alpha4" to detect circular dependencies among arbitrary objects. It works fine, but the error could be more informative for a certain case:
x and y are redacted data.
The problem is that neither x or y depend on each other directly, but via an indirect path.
It would be tremendously useful if the exception itself informed of the full faulty path, instead of just the beginning and end.
Example of desired exception: