hPutStrLn -package:bytestring

The same as hPutStr, but adds a newline character. This operation may fail with the same errors, and has the same issues with concurrency, as hPutStr!
Write a string to a handle, followed by a newline.
The same as hPutStr, but adds a newline character.
Write data plus newline character.
Write a string like value a to a supplied Handle, appending a newline character.
Write a string to a handle, followed by a newline N.B.: implementations might not define this atomically. If the state of being atomic is necessary, one possible solution is to convert a string to an efficient type for which hPutStrLn is atomic.
Given a list of strings, output a line containing each item, adding newlines as appropriate. The list is not expected to have newlines already.