Yes, you are right -- it is possible to write Nim code that does not compile or does not work as you expected.
But for most of us Nim seems to work well most of the time. When you do not like Nim, why are you not just using another one, there are many interesting languages available. For your example code: Of course the Nim developers are very bright, but I guess even for smart people it may be difficult to guess what the problem with your program is, when you post only a small section of it. And note, many people and Nim manual told us that we do not need sync() when we use parallel statement. Why do you refuse to learn that? And no, I don't think that is the problem in your code. Generally I have the feeling, that your attempts to calculate primes in parallel may be misguided, because you do not care for data cache that much. Most other people coding prime sieves for fun are using OpenMP and care much for data cache layout. And that makes much sense, as accessing data in cache is often 30 times faster than random RAM access. I have just done a very short minimal test of parallel/spawn myself, with an interesting compiler output when using a seq instead of a fixed size array. But I think I did something wrong, I have never used parallel statement in the last two years, and have not read the manual again. [https://github.com/nim-lang/Nim/issues/6814](https://github.com/nim-lang/Nim/issues/6814)
