(module templates (render-template) (import scheme (chicken string)) (define (render-template node) (cond ((eq? node '()) "") ((string? node) node) (else (let* ([tag (symbol->string (car node))] [body (cdr node)]) (string-append "<" tag ">" (string-intersperse (map render-template body) "") ""))))))