diff --git a/preamble.cabal b/preamble.cabal
--- a/preamble.cabal
+++ b/preamble.cabal
@@ -1,5 +1,5 @@
 name:                  preamble
-version:               0.0.22
+version:               0.0.23
 synopsis:              Yet another prelude.
 description:           A prelude built on basic-prelude.
 homepage:              https://github.com/swift-nav/preamble
diff --git a/src/Preamble/Types/Alias.hs b/src/Preamble/Types/Alias.hs
--- a/src/Preamble/Types/Alias.hs
+++ b/src/Preamble/Types/Alias.hs
@@ -8,8 +8,10 @@
   ( module Preamble.Types.Alias
   ) where
 
-
+import Control.Monad.Catch
 import Control.Monad.Logger
+import Control.Monad.Trans.Control
+import Control.Monad.Trans.Resource
 import Data.Aeson
 import Preamble.Prelude
 
@@ -20,3 +22,18 @@
 -- | Trace
 --
 type Trace = Loc -> LogSource -> LogLevel -> LogStr -> IO ()
+
+-- | MonadControl
+--
+type MonadControl m =
+  ( MonadBaseControl IO m
+  , MonadIO m
+  , MonadMask m
+  )
+
+-- | MonadMain
+--
+type MonadMain m =
+  ( MonadControl m
+  , MonadResource m
+  )
diff --git a/src/Preamble/Types/Ctx.hs b/src/Preamble/Types/Ctx.hs
--- a/src/Preamble/Types/Ctx.hs
+++ b/src/Preamble/Types/Ctx.hs
@@ -12,7 +12,6 @@
 import Control.Monad.Catch
 import Control.Monad.Logger
 import Control.Monad.Reader
-import Control.Monad.Trans.Resource
 import Preamble.Prelude
 import Preamble.Types.Alias
 
@@ -30,8 +29,7 @@
 $(makeClassy ''Ctx)
 
 type MonadCtx c m =
-  ( MonadIO m
-  , MonadResource m
+  ( MonadMain m
   , MonadReader c m
   , MonadLogger m
   , MonadCatch m
