This article does not age well. Especially the C# stuff...
Also, using Haskell 'very little' will not give you the experience you need to write something like this. Haskell has a (very) steep learning curve and you need to recognize ways to solve problems and to see the elegance (and the warts as well by the way). That takes time and effort; maybe there are people who just get it, I am definitely not one of those people, but the work, for me, was definitely worth it.