Well, managed to shave 25% of C# execution time by writing my own bit array.  For now, I will concede that, under the conditions of the shoot, bitarrays in c# are slower than bitarrays in Haskell.  I'll let you know if I get any new ideas on this.
<br><br><br>Getting back to the original problem, which is: threading.&nbsp; Donald, one of the things that is very
interesting about Haskell is it&#39;s potential for automatic threading, ie
you write a trivial algorithm that looks like it runs in a single
thread, and the runtime splits it across multiple cores automatically.
<br><br>It&#39;s fairly safe to say that maps, foldrs, foldls, and their
derivatives are safe to parallelize?&nbsp; (For example, hand-waving
argument, a foldr of (/) on [1,5,7,435,46,2] can be split into a foldr
on [1,5,7] and a foldr on [435,46,2], then their results combined).
<br><br>To what extent is the technology you are using in your
algorithm parallizable?&nbsp; (I actually cant tell, it&#39;s a genuine
question).&nbsp; In the case that it is parallelizable, to what extent is it
trivial for a runtime to know this?&nbsp; (Again, I dont have enough
information to tell)<br><br>