As a somewhat-newbie haskell user and longtime Python user, what I have observed is this.

Haskell creates compile-time error messages that are somewhat hard to understand for beginners.

Python (or any scripting language) creates run-time bugs that are hard to understand.

One reason for the weird (to a beginner) compile errors in Haskell is its expressivity -- almost any sequence of identifiers could potentially mean something, and if you make a mistake, the compiler is sure to find some "weird" way to interpret it.

But Python suffers from a similar problem -- it's not as expressive a language, but it is very permissive, not insisting on type correctness, order of arguments, or any of a number of things so that the programmer can write a program that compiles with no errors -- but has strange run-time bugs.

I'll take Haskell. I'm a bit OCD about getting the bugs out of my programs, and Python just opens up too many holes for me to relax with it.

Dennis