ParentFull threadjneen·Neat trick with the generalized derived classes! You don't actually need to make IRC a monad transformer if you don't need it. Just drop the `m` from the `newtype` declaration, and you have a nice simple `IRC a` monad.View on HN