diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+# 0.2.3.0 (June 25, 2016)
+
+* Add GHC 8 support
+
 # 0.2.2.2 (Sep. 14, 2015)
 
 * Use local `data Nat` for `Data.Open.Union`
diff --git a/freer.cabal b/freer.cabal
--- a/freer.cabal
+++ b/freer.cabal
@@ -1,5 +1,5 @@
 name:                freer
-version:             0.2.2.6
+version:             0.2.3.0
 synopsis:            Implementation of the Freer Monad
 license:             BSD3
 license-file:        LICENSE
@@ -49,7 +49,7 @@
                      , Data.FTCQueue
                      , Data.Open.Union
 
-  build-depends:       base >=4.7 && <4.9
+  build-depends:       base >=4.7 && <5
   hs-source-dirs:      src
   ghc-options:         -Wall
   default-language:    Haskell2010
@@ -63,7 +63,7 @@
                      , NonDetEff
                      , Teletype
                      , Trace
-  build-depends:       base >=4.7 && <4.9
+  build-depends:       base >=4.7 && <5
                      , freer
   hs-source-dirs:      examples/src
   ghc-options:         -Wall
diff --git a/src/Control/Monad/Freer/Reader.hs b/src/Control/Monad/Freer/Reader.hs
--- a/src/Control/Monad/Freer/Reader.hs
+++ b/src/Control/Monad/Freer/Reader.hs
@@ -82,9 +82,6 @@
 >
 >type Bindings = Map String Int
 >
->asks :: (b -> a) -> Eff '[Reader b] a
->asks f = ask >>= return . f
->
 >-- Returns True if the "count" variable contains correct bindings size.
 >isCountCorrect :: Bindings -> Bool
 >isCountCorrect bindings = run $ runReader calc_isCountCorrect bindings
@@ -120,9 +117,6 @@
 > import Data.Maybe
 >
 > type Bindings = Map String Int
->
-> asks :: (b -> a) -> Eff '[Reader b] a
-> asks f = ask >>= return . f
 >
 > calculateContentLen :: Eff '[Reader String] Int
 > calculateContentLen = do
