@Shane Celis Sonewhat unrelated, but I don't understand why people make such a big deal about IO being a Monad instead of just calling it the IO type. I mean, it's also a Monoid, Semigroup, etc. There's nothing particularly special that I can see about the Monad typeclass.