Hi, I am trying to write elisp implementation of skip list (see the attached). Everything works fine until I try to print the skip list into file. The print function goes deep into recursion until reaching the recursion limit. It happens even for ~ >10000 elements in the list. I expect the skip list structure to be printed without issues. Steps to reproduce: With the attached org-skip-list.el in load-path, run the following code: (require 'org-skip-list) (setq x (org-skip-list-create #'<)) (dotimes (i 10000) (org-skip-list-insert x i)) (with-temp-file "/tmp/dump-elisp" (let ((print-circle t) print-level print-length print-quoted (print-escape-control-characters t) (print-escape-nonascii t) (print-continuous-numbering t) print-number-table) (prin1 x (current-buffer)))) The code fails with Re-entering top level after C stack overflow Also (funcall-interactively #'memory-report) after execution the above code will fail with memory-report--object-size: Lisp nesting exceeds ‘max-lisp-eval-depth’ Finally, Increasing the number of elements in the loop to 400000 will simply crash Emacs. Best, Ihor