Detecting circular structures (sometimes just called graphs), is a solved problem. The Lisp reader and printer even serialize them correctly: #1=(42 . #1#) makes a pair of two items. The first item is a 42 and the second is the pair itself.
It sounds like whoever implemented this just didn't know what they were doing.
It sounds like whoever implemented this just didn't know what they were doing.