Hi Andray, synchronized use by itself is not inherently bad, it's only an issue when the synchronized is held over something that's blocking, so very interested to understand what you're doing in the lazy seq in this case - are you blocking on external I/O (reading from a stream/reader), or something else? If you could add more detail in the linked original thread, that would help us keep information in one place as we consider alternatives.