diff --git a/Storage/Hashed/Monad.hs b/Storage/Hashed/Monad.hs
--- a/Storage/Hashed/Monad.hs
+++ b/Storage/Hashed/Monad.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ScopedTypeVariables, BangPatterns, TypeSynonymInstances, UndecidableInstances #-}
+{-# LANGUAGE ScopedTypeVariables, BangPatterns, TypeSynonymInstances, UndecidableInstances, FlexibleInstances #-}
 
 -- | An experimental monadic interface to Tree mutation. The main idea is to
 -- simulate IO-ish manipulation of real filesystem (that's the state part of
@@ -15,6 +15,7 @@
     , tree, TreeState, TreeMonad, TreeIO, runTreeMonad
     , initialState, replaceItem
     , findM, findFileM, findTreeM
+    , TreeRO, TreeRW
     ) where
 
 import Prelude hiding ( readFile, writeFile )
diff --git a/Storage/Hashed/Tree.hs b/Storage/Hashed/Tree.hs
--- a/Storage/Hashed/Tree.hs
+++ b/Storage/Hashed/Tree.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances #-}
+{-# LANGUAGE ScopedTypeVariables, MultiParamTypeClasses, FlexibleInstances, BangPatterns #-}
 
 -- | The abstract representation of a Tree and useful abstract utilities to
 -- handle those.
diff --git a/hashed-storage.cabal b/hashed-storage.cabal
--- a/hashed-storage.cabal
+++ b/hashed-storage.cabal
@@ -1,5 +1,5 @@
 name:          hashed-storage
-version:       0.5.7
+version:       0.5.8
 synopsis:      Hashed file storage support code.
 
 description:   Support code for reading and manipulating hashed file storage
@@ -63,7 +63,7 @@
         Bundled.SHA256
         Storage.Hashed.Utils
 
-    build-depends: base >= 3 && < 5,
+    build-depends: base >= 4 && < 5,
                    containers,
                    mtl,
                    directory,
