I've gotten good enough at Haskell to realize there's a problem in paradigms.
There's really two types of useful programming languages and approaches.
1. Correctness. That's Haskell. The downside of correctness is that in Haskell this often means you have to exactly what to expect at all times and know about every possible edge case. This isn't in the sense of "logical edgecase broke my code," no this is about code flexibility.
(thread continued...)