`puts` is not atomic, it will do a write of the string, and then a separate write of the newline. This causes formatting issues in multi-threaded/process environments.