CLHS says
An attempt to print a circular structure with *print-circle* set
to nil may lead to looping behavior and failure to terminate.
And then there's this:
Why does this Lisp macro as a whole work, even though each piece doesn't work?
Apparently, having *print-circle*
set to nil leads to surprises. Why is *print-circle*
set to nil by default on many systems? What can go wrong if I set it to t globally right from the beginning of my code?