Several years ago Don Syme did some work to create a .Net backend for the Glasgow Haskell Compiler, but it wasn't finished. I emailed him to ask when or if it would be finished, and he replied that he'd moved on to other things, but if I had an interest in functional languages for .Net, I should check out his new project, F#. I did check it out, and found it to be essentially OCaml ported to .Net, minus the most interesting bits (functors) and plus some reasonable integration with .Net objects. It still had the baroque syntax of OCaml, and seemed less powerful overall than OCaml. Oh well, I thought, I'll stick to C# until a real functional language arrives for .Net. That was then.
C# 3.0 came out, and it had enough functional programming features that I didn't feel hopelessly constrained anymore, so I stopped wishing for a functional language for .Net. However, a few days ago I happened to stumble onto a passing reference to "monads in F#," which piqued my interest enough to revisit the website, and what I saw there prompted me to buy a copy of Expert F#.