(define (combine-syms lst) (let loop ((l lst) (res '())) (cond ((null? l) (string-intersperse (map symbol->string (reverse res)))) ((symbol? (car l)) (loop (cdr l) (cons (car l) res))) (else (cons (string-intersperse (map symbol->string (reverse res))) l)))))