I love it. I mean I could have done the same thing in node. But there's something about the workflow in Haskell. I need to add a new feature I didn't think of. But I don't have to refactor as aggressively because all my code is made up of little functions. I start hacking, my editor has a list of errors I still need to clean up. I clean them up, and it usually works the first try.
Or this morning I wanted to add a connection pool to my rethinkdb driver code. The resource-pool package gives you an awesome way to do it for anything. Without knowing about rethinkdb at all.
Also this morning I wanted to do some IO in parallel. I found several nice concurrency packages and threw one in without any refactoring.
It has its difficulties (deployment?) but I'm really enjoying it.