diff --git a/Foreign/C/String/Region.hs b/Foreign/C/String/Region.hs
--- a/Foreign/C/String/Region.hs
+++ b/Foreign/C/String/Region.hs
@@ -82,7 +82,7 @@
 import Data.Function.Unicode             ( (∘) )
 
 -- from transformers:
-import Control.Monad.Trans               ( MonadIO, liftIO )
+import Control.Monad.IO.Class            ( MonadIO, liftIO )
 
 -- from MonadCatchIO-transformers:
 import Control.Monad.CatchIO             ( MonadCatchIO )
diff --git a/Foreign/Marshal/Array/Region.hs b/Foreign/Marshal/Array/Region.hs
--- a/Foreign/Marshal/Array/Region.hs
+++ b/Foreign/Marshal/Array/Region.hs
@@ -77,7 +77,7 @@
 import Data.Function.Unicode                  ( (∘) )
 
 -- from transformers:
-import Control.Monad.Trans                    ( MonadIO, liftIO )
+import Control.Monad.IO.Class                 ( MonadIO, liftIO )
 
 -- from MonadCatchIO-transformers:
 import Control.Monad.CatchIO                  ( MonadCatchIO )
diff --git a/Foreign/Marshal/Utils/Region.hs b/Foreign/Marshal/Utils/Region.hs
--- a/Foreign/Marshal/Utils/Region.hs
+++ b/Foreign/Marshal/Utils/Region.hs
@@ -51,7 +51,7 @@
 import Data.Function.Unicode                  ( (∘) )
 
 -- from transformers:
-import Control.Monad.Trans                    ( MonadIO, liftIO )
+import Control.Monad.IO.Class                 ( MonadIO, liftIO )
 
 -- from MonadCatchIO-transformers:
 import Control.Monad.CatchIO                  ( MonadCatchIO )
diff --git a/Foreign/Ptr/Region/Internal.hs b/Foreign/Ptr/Region/Internal.hs
--- a/Foreign/Ptr/Region/Internal.hs
+++ b/Foreign/Ptr/Region/Internal.hs
@@ -41,13 +41,13 @@
 import Data.Function.Unicode                  ( (∘) )
 
 -- from transformers:
-import Control.Monad.Trans                    ( MonadIO, liftIO )
+import Control.Monad.IO.Class                 ( MonadIO, liftIO )
 
 -- from regions:
 import Control.Resource                       ( Resource
                                               , Handle
-                                              , openResource
-                                              , closeResource
+                                              , open
+                                              , close
                                               )
 import Control.Monad.Trans.Region             ( RegionalHandle )
 import Control.Monad.Trans.Region.Unsafe      ( internalHandle
@@ -71,8 +71,8 @@
 instance Resource (Memory α) where
     newtype Handle (Memory α) = Pointer { ptr ∷ Ptr α }
 
-    openResource  = liftM Pointer ∘ FMA.mallocBytes ∘ size
-    closeResource = FMA.free ∘ ptr
+    open  = liftM Pointer ∘ FMA.mallocBytes ∘ size
+    close = FMA.free ∘ ptr
 
 -- | Handy type synonym for a regional handle to memory. This should provide a
 -- safer replacement for @Foreign.Ptr.@'Ptr'
diff --git a/Foreign/Storable/Region.hs b/Foreign/Storable/Region.hs
--- a/Foreign/Storable/Region.hs
+++ b/Foreign/Storable/Region.hs
@@ -31,7 +31,7 @@
                                         , peek,        poke
                                         )
 -- from transformers:
-import Control.Monad.Trans              ( MonadIO )
+import Control.Monad.IO.Class           ( MonadIO )
 
 -- from regions:
 import Control.Monad.Trans.Region       ( ParentOf )
diff --git a/regional-pointers.cabal b/regional-pointers.cabal
--- a/regional-pointers.cabal
+++ b/regional-pointers.cabal
@@ -1,5 +1,5 @@
 name:          regional-pointers
-version:       0.1.0.1
+version:       0.1.0.2
 cabal-version: >=1.6
 build-type:    Custom
 license:       BSD3
@@ -15,24 +15,16 @@
                are automatically freed. Most importantly, a pointer can't be
                returned from the region. So it's impossible to reference
                unallocated memory.
-
                .
-
                The primary technique used in this package is called \"Lightweight
                monadic regions\" which was invented by Oleg Kiselyov and
                Chung-chieh Shan. See:
-
                .
-
                <http://okmij.org/ftp/Haskell/regions.html#light-weight>
-
                .
-
                This technique is implemented in the @regions@ package which is
                re-exported from this library.
-
                .
-
                This library provides wrappers around all the @Ptr@ functions
                from the @Foreign.*@ modules from @base@.
 
@@ -42,11 +34,11 @@
 
 Library
   GHC-Options: -Wall
-  build-depends: base                      >= 4       && < 4.3
-               , base-unicode-symbols      >= 0.1.1   && < 0.2
-               , regions                   == 0.4.*
-               , transformers              >= 0.1.4   && < 0.2
-               , MonadCatchIO-transformers >= 0.0.2.0 && < 0.1
+  build-depends: base                      >= 4     && < 4.3
+               , base-unicode-symbols      >= 0.1.1 && < 0.3
+               , regions                   >= 0.5   && < 0.6
+               , transformers              >= 0.2   && < 0.3
+               , MonadCatchIO-transformers >= 0.2   && < 0.3
   exposed-modules: Foreign.Ptr.Region
                    Foreign.Ptr.Region.Unsafe
                    Foreign.Marshal.Alloc.Region
