diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+brainfuck-monad (0.5.2) unstable; urgency=medium
+
+  * Prepare for monad of no return, by removing redundant return
+    implementation for BrainFuck.
+
+ -- Joey Hess <id@joeyh.name>  Wed, 26 Feb 2020 11:17:35 -0400
+
 brainfuck-monad (0.5.1) unstable; urgency=medium
 
   * Clean build with recent versions of ghc.
diff --git a/Control/Monad/BrainFuck.hs b/Control/Monad/BrainFuck.hs
--- a/Control/Monad/BrainFuck.hs
+++ b/Control/Monad/BrainFuck.hs
@@ -10,8 +10,6 @@
 import System.IO
 import System.Exit
 import System.Directory
-import Control.Applicative
-import Prelude
 
 newtype BrainFuck a = BrainFuck (DataPointer -> ([Char], DataPointer, a))
 	deriving (Functor)
@@ -27,7 +25,6 @@
 brainfuck (BrainFuck f) = bytes where (bytes, _, _) = f 0
 
 instance Monad BrainFuck where
-	return = pure
 	a >>= b = BrainFuck $ \start -> let
 		(left, mid, val) = func a start
 		(right, end, ret) = func (b val) mid
diff --git a/brainfuck-monad.cabal b/brainfuck-monad.cabal
--- a/brainfuck-monad.cabal
+++ b/brainfuck-monad.cabal
@@ -1,5 +1,5 @@
 Name: brainfuck-monad
-Version: 0.5.1
+Version: 0.5.2
 Cabal-Version: >= 1.8
 License: BSD3
 Maintainer: Joey Hess <id@joeyh.name>
@@ -17,7 +17,7 @@
 Library
   GHC-Options: -Wall -fno-warn-tabs
   Exposed-Modules: Control.Monad.BrainFuck
-  Build-Depends: base (>= 4.5), base < 5, process, directory
+  Build-Depends: base (>= 4.8 && < 5), process, directory
 
 source-repository head
   type: git
