diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # CHANGELOG
 
+## 1.0.1
+### Changed
+* fix `Applicative` constraints for base < 4.8
+
 ## 1.0.0
 ### Added
 * `MHRElemsConstraint`
diff --git a/hreader.cabal b/hreader.cabal
--- a/hreader.cabal
+++ b/hreader.cabal
@@ -1,5 +1,5 @@
 name:                hreader
-version:             1.0.0
+version:             1.0.1
 synopsis:            Generalization of MonadReader and ReaderT using hset
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/Control/Monad/HReader.hs b/src/Control/Monad/HReader.hs
--- a/src/Control/Monad/HReader.hs
+++ b/src/Control/Monad/HReader.hs
@@ -42,7 +42,7 @@
 runHReaderT h (HReaderT r) = runReaderT r h
 
 -- | Run a local reader with a subset of HSet elements.
-subHSetHReaderT :: (Monad m, SubHSettable els subels)
+subHSetHReaderT :: (Monad m, Applicative m, SubHSettable els subels)
                 => HReaderT subels m a -> HReaderT els m a
 subHSetHReaderT hr = do
   hset <- askHSet
@@ -61,7 +61,7 @@
 
 -}
 
-narrowHReaderT :: (Monad m, SubHSettable els subels)
+narrowHReaderT :: (Monad m, Applicative m, SubHSettable els subels)
                => proxy subels -> HReaderT subels m a -> HReaderT els m a
 narrowHReaderT _ = subHSetHReaderT
 
