Sebastian,

Why would I write a slow, complicated algorithm in C#?

I'm not making these comparisons for some academic paper, I'm trying to get a feel for how the languages run in practice.

And really in practice, I'm never going to write a prime algorithm using merge and so on, I'd just use the original naive Haskell algorithm, that runs 500 times slower (at least) than my naive C# algo.  I'm just allowing you guys to optimize to see how close you can get.

Note that the C# algo is not something created by C# experts, it's just something I hacked together in like 2 minutes.