!759 concepts. p { loadConceptsFrom("#1005337"); Concept cyclic = cnew("Cyclic"); cset(cyclic, "next", cyclic); cnew("Actually", what := cyclic); for (Concept c : list("Actually")) { new IdentityHashMap seen; print(renderConcept(c)); follow(c, 0, seen); } } svoid follow(Concept c, int indent, IdentityHashMap seen) { seen.put(c, c); indent += 2; L names = dynGetRefNames(c); for (S name : names) { Concept val = cast cget(c, name); bool isSeen = seen.containsKey(val); printIndent(indent, name + ": " + renderConcept(val) + (isSeen ? " [seen]" : "")); if (!isSeen) follow(val, indent, seen); } }