Late last year, I wrote my thoughts on what the architecture of modern functional programs should look like. The post generated vigorous discussion in the community, perhaps because I railed against the IO monad and advocated for Free monads, which are now used pervasively in Quasar Analytics Engine, one of the open source projects that my company develops. Since then, I’ve had a chance to read re