If we multiple long lines in succession the start index got miscalculated and part of the latter lines discarded.
To preserve the order of lines we offer them into a channel without suspending. If we launch a new coroutine there's no guarantee they'll execute in order, even if the method they call is fair.