I came from an imperative background so it didn&#x27;t bother me so much. I agree it makes people suck at FP. Least there&#x27;s good free work like &quot;How to Design Programs&quot; with the Racket tools. Should give them a nice boost.<p>However, there&#x27;s lots of ways to scale. FP is better at it but not necessary. It&#x27;s easier for a decent imperative programmer to learn to scalable concurrency than to learn FP. So, path of least resistance &amp; backward compatible means that non-FP approaches should get most traction. That&#x27;s what we see in practice.<p>Good news is that your point got many interested in making an attempt and led to more FP developers + languages. I even saw a case study of a company in finance using Haskell for production due to concise, correct, and concurrent properties. Plenty potential here.