<i>&gt; To do I&#x2F;O in FP you have to deal with monads</i><p>No.<p><i>&gt; The common ground is functional-ish and mostly-stateless programming (&quot;const&quot; etc). C# is actually becoming very good at this, and you can always cross into F# if you want.</i><p>Newish C# is just functional programming dressed up as Java, and goes far beyond const. C.f. functional-ish C# programs to C programs that use const. Striking difference.<p>F# is just .NET&#x27;s version of a straight up a very traditional and canonical functional language. If F# isn&#x27;t functional then nothing except maybe untyped lambda calculus is functional.<p>The article&#x27;s title is correct only in the tautological sense that unpopular things are weird, even in the paradoxical case where those unpopular things are actually fully embraced while remaining unpopular.