smarter output newline behavior
vararg cat function