return function() local buffer = {} return function(text) buffer[#buffer + 1] = text end, function(...) buffer[#buffer + 1] = string.format(...) end, function(sep) local b = buffer buffer = nil return table.concat(b, sep) end end