The genius of Linq is that it makes parallels between SQL and parts of functional programming. A lot of .NET devs have grown up using SQL and aren't looking to make changes. Instead of forcing devs to do functional programming, they made FP look familiar (like SQL). It's easy to explain a Linq statement to mediocre developers. For those of us who aren't mediocre, this makes a pleasant world where we can plunge further into FP without worrying about mediocre coworkers falling too far behind.