[Haskell-cafe] MonadGL - Partitioning effects without giving up type inference