Hello, > + (scope-files > + (fold > + (lambda (str fmt) > + (string-append fmt str)) > + (format #f "scope:~%") > + (sort > + (map (lambda (scope) (format #f "+ ~a~%" scope)) scope-files) Why not: (scope (format #f "scope:~%~{+ ~s ~}~%" scope)) > + string<=?))))) At that point, scope is not always a string: --8<---------------cut here---------------start------------->8--- ERROR: In procedure string<=?: In procedure string<=: Wrong type argument in position 1 (expecting string): # --8<---------------cut here---------------end--------------->8--- Thanks, Mathieu