;; if this is just called `cat' then the auto-generated printers for
;; some named types don't work. need to investigate...
(bind-func concat:[String*,List{String*}*]*
(lambda (lst)
(let ((s (String ""))
(n (length lst)) (i 0))
(dotimes (i n)
(set! s (cat2 s (nth lst i))))
s)))