Hi, Alexandria developers:
CIRCULAR-TREE-P has an unfortunate corner case, causing it to overflow the stack (seen and repoted at #lisp for '#1=(#1#), but if I understand it correctly, having a subtree like that can be dangerous as well).
The problem is caused by the end-test (of the outer DO) being run before the body has a first chance to check for (member slow seen).
Moving endlist into the end of the body seems to fix it. Quick-and-dirty illustration is at http://paste.lisp.org/+2OHW.