Learning Haskell also reminds me of a litmus test that I like, for testing whether somebody is a Real Programmer. The test is a single simple question:
"What programming languages do you know?"
If the person responds with a clear and simple list, they aren't are Real Programmer.
You get my point, I think. I could probably keep going on for a while, and still not have everything. This is part of the nature of working with code. If you spend enough time working with enough complex systems, you'll inevitably have to tangle with lots of different programming languages, just through the pragmatics of making things work in whatever context of duct-tape and spackle your partners and predecessors have had to set up to get stuff done. Likewise, if you tangle with enough languages and gain a deep enough understanding of the underlying concepts, then picking up new languages is relatively easy---at least to an intermediate level. Real Programmers have done both of these things, and it will have left its scars on their memory in one form or another---and I don't think you can really be fluent without it.
Note that being a Real Programmer doesn't necessarily make you any damned good at any particular task, though. It just means you've got the potential to get there with a sharp learning curve if you've got the time and motivation. For example, I'm no longer competent to carry out any but the most basic system administration tasks, since I stopped tracking that field early in grad school, which is why I own a Mac.
So, dear reader: are you a Real Programmer?