Yes: my reasoning is just that you are mutating the `position` field. It has to be mutated safely (`+=` is a read then a update). If there is a possibility that more than one thread calls `executeQuery`, then `position` can end up being wrong and it will lead to a-hard-to-spot error.

I guess your counter argument is that since only the Iteratee and Enumerator will ever call this method (through `fetchNextChunk`), it is strictly impossible that it is called 2 times. I guess I agree with that as `fetchNextChunk` will only ever be called after the last chunk was finished.

TL;DR; I guess you are right - there is no need to worry here.