fn stringify(item) => item.is_a(String) then item else item.value.convert(item.conversion).format(item.format_spec) fn f(template) => template.map(stringify).join()
The ideal version has the same behaviour and shows that the extra complexity is unnecessary.