Typed Functional Programming and Software Correctness
dimjasevic.net
dimjasevic.net
This article does a good job of showing some flaws within the development experience of mainstream languages as well as showing how a typed functional languages can address them.
It does make me wonder why FP isn't more popular. Is it because of the high level of abstraction? Sure, you need to learn what a monoid, or an functor is. But once you do that, you can use the interface and behaviours described by these categories to interact with _any_ other monoid / functor, no matter who wrote it or what it achieves.