diff --git a/snap-app.cabal b/snap-app.cabal
--- a/snap-app.cabal
+++ b/snap-app.cabal
@@ -1,5 +1,5 @@
 name:                snap-app
-version:             0.1.4
+version:             0.1.5
 synopsis:            Simple modules for writing apps with Snap, abstracted from hpaste.
 homepage:            Simple modules for writing apps with Snap, abstracted from hpaste.
 license:             BSD3
@@ -13,6 +13,7 @@
 library
   hs-source-dirs:    src
   exposed-modules:   Snap.App, Snap.App.Types, Snap.App.Controller, Snap.App.Model, Snap.App.Migrate
+  other-modules:     Control.Monad.Catch, Control.Monad.Env
   build-depends:     base >= 4 && <5,
                      snap-core,
                      network,
diff --git a/src/Control/Monad/Catch.hs b/src/Control/Monad/Catch.hs
new file mode 100644
--- /dev/null
+++ b/src/Control/Monad/Catch.hs
@@ -0,0 +1,5 @@
+{-# LANGUAGE PackageImports #-}
+
+module Control.Monad.Catch (module Control.Monad.CatchIO) where
+
+import "MonadCatchIO-transformers" Control.Monad.CatchIO
diff --git a/src/Control/Monad/Env.hs b/src/Control/Monad/Env.hs
new file mode 100644
--- /dev/null
+++ b/src/Control/Monad/Env.hs
@@ -0,0 +1,14 @@
+{-# OPTIONS -Wall #-}
+{-# LANGUAGE OverloadedStrings #-}
+
+-- | Abstraction of environment functions (could be state, could be
+--   reader, whatever). Intended to ease migration from Reader/State.
+
+module Control.Monad.Env
+  (env)
+  where
+
+import Control.Monad.Reader
+
+env :: MonadReader env m => (env -> val) -> m val
+env = asks
