Why does the Collections.Seq module have lots of methods that appear to be equivalent to extension methods declared in System.Linq.Enumerable? Why did the designers of F# feel the need to create a new namespace and new/different names for all of these instead of reusing what already exists in .NET?
(If they needed some extra methods, why didn’t they just add them to System.Linq.Enumerable?)
Some other decent answers here, but my take is briefly
Basically, once you’re accustomed to F# idioms, you’ll discover that the .NET APIs kind of suck for F#-style programming. F# is heavily geared towards pipeline-style programming (which requires partial application of the incoming sequence as the last curried argument) and type-inference (which interacts badly with overloading).
So F# has its own library which works well with F#. (Here’s a quickie decoder-ring blog.)