I think monads are an extremely useful concept and my preferred way to represent stateful computations in functional programming (as well as useful in imperative/mixed languages as a pattern). don't really know why all the religiously charged questions