Should I give Haskell another try?

Haskell is a wonderful programming language. I'm not kidding, I really mean it. It's definitely worth checking out, at least.
Haskell is purely functional, succinct, elegant, fast, compiled, cross-platform, well-documented, feature-rich, and cross-platform. On paper, it's pure awesomeness: it lets you program in a way no other language can.

Programming in Haskell requires a radical paradigm shift, so it's not for anyone. I was always intrigued by it, and I started to learn it a few times in the past, on a yearly basis. Now it's that time of the year again, but before I embark in yet another almost-pointless journey, I wanted to analyze the issues I stumbled across last time I read through the countless tutorials and other awesome and free resources online.

Note #1 These are issues I found about a year ago, hopefully they are not true anymore. If you think they are not true, by all means explain why in the comments, but do it in a civilized manner: I am not criticizing your language of choice, I just want to learn more about it.

Note #2 I don't need to learn Haskell. I won't use it for work, not in the short term anyway. But I would use it sporadically to perform certain tasks for which I cannot use Ruby for, i.e. something that needs to be fast and not require something installed to run. Maybe some silly CLI tools, but maybe even some GUI or web/network stuff.

Here's what I'm most scared about, when it comes to learning Haskell:

1. Haskell is alien to what I'm used to

Haskell is purely functional. If you're not accustomed with functional programming, you're in for a big shock. I'd recommend learning the rudiments of Lisp/Scheme to learn a bit of (impure) functional programming first, digest it, and then get back to Haskell. I did that already, so the shock wasn't too big.

Still, the biggest differences with other programming languages are that:

  1.  all data is immutable (no c++, i += 1, i = 1+1 and similar),
  2. you can handle lists of infinite numbers and other similar lazy data structures like they were peanuts,
  3. above all, you must deal with side effects (including IO) through monads

...which leads us to the next point.

2. Haskell Monads are not exactly intuitive, and mastering them requires time and an iron will

If you google the Internet for tutorials on Haskell monads, you'll find loads. Everyone tried to explain them using the weirdest analogies, with mixed results. Personally, I really liked this tutorial, which aims at making you understand how monads work by inventing them yourself. I read it, slowly, more than once, I remember getting very, very close to grasping the concept behind it... but not quite. There was still something missing. How did you understand monads (possibly without getting too much into category theory)?

3. Package management is somewhat immature and confusing

This was another thing that put me off Haskell back in the day. Apparently there are many different official repositories of Haskell programs and libraries. Cabal Install seemed, a year ago, the best way to install packages, in a way that is similar to Rubygems or Debian packages. Unfortunately last time I tried it gave me the impression not to be mature enough. How are things going on this front?

One of the biggest problems of Haskell packages is that the GHC compiler releases are somewhat too frequent. I found myself unable to decide which version to install: one of the latest, which is better and has more features or a (very) old one, which at least guarantees me that the majority of Haskell libraries will work with it? If you think Ruby 1.8.x vs. 1.9.x makes things confusing... well, be glad to know that things can be much worse in the Haskell world. Is this still true?

4. Ultimately, a more traditional language gets things done with much less hassle

I could handle the paradigm shift well, I guess I could have learned Monads at some point, but the inability to install Haskell programs in a relatively easy way (e.g. Yi) really put me off. At the end of my last trip to the wonderful world of Haskell, I realized I could get things done more quickly, without the extra hassle with another language.

Still, I decided to wait a bit (a year) and see if things improved. A year has passed, should I give Haskell another try?