Good case study of why Haskell was a good choice. I took a Haskell course at edX and the instructor Erik Meijer had a good metaphor: pure Haskell functions are like islands in the ocean. The ocean is imperative code, monads, etc. It is a design decision of how much of your code base is islands and how much is ocean.<p>I have limited Haskell skills, but I find writing pure functions to be fairly easy. For the monad ocean code, web search and stackoverflow helped find boilerplate examples. So, I try to spend my time on the islands.