> Mostly though, I love functional programming because it makes mucking around with data structures a lot easier.
Can you talk more about that? My experience has actually been largely the opposite: immutability actually makes working with data structures /harder/ for me. I'd be interested in hearing about any hidden advantages you've discovered there.