1[![Hackage](https://img.shields.io/hackage/v/monad-control.svg)](https://hackage.haskell.org/package/monad-control) 2[![Build Status](https://travis-ci.org/basvandijk/monad-control.svg)](https://travis-ci.org/basvandijk/monad-control) 3 4This package defines the type class `MonadControlIO`, a subset of 5`MonadIO` into which generic control operations such as `catch` can be 6lifted from `IO`. Instances are based on monad transformers in 7`MonadTransControl`, which includes all standard monad transformers in 8the `transformers` library except `ContT`. 9 10Note that this package is a rewrite of Anders Kaseorg's `monad-peel` 11library. The main difference is that this package provides CPS style 12operators and exploits the `RankNTypes` language extension to simplify 13most definitions. 14 15[This `criterion`](https://github.com/basvandijk/bench-monad-peel-control) 16based benchmark shows that `monad-control` is on average about 2.5 17times faster than `monad-peel`. 18