There seems to be a problem with namespace shadowing in the SRFI-1 function LIST= . In MIT scheme, PLT scheme, and (reportedly) Chicken, but not s48: (list= eq? '(a) '(a)) ;Value: #t (list= eq? '(a) '(a) '(a)) ;Value: #f Full code is here: http://paste.lisp.org/display/20643