diff --git a/Src/GameEngine.hs b/Src/GameEngine.hs
--- a/Src/GameEngine.hs
+++ b/Src/GameEngine.hs
@@ -79,7 +79,7 @@
 
 playIO :: (GameState a -> IO ()) -> GameEngine a b -> IO Int
 -- ^ Run the provided game engine within an IO context until a terminal state is reached.
-playIO f = play (f >> return)
+playIO f = play (\x -> f x >> return x)
 
 
 getNextState :: GameEngine a b -> GameState a
diff --git a/deterministic-game-engine.cabal b/deterministic-game-engine.cabal
--- a/deterministic-game-engine.cabal
+++ b/deterministic-game-engine.cabal
@@ -1,5 +1,5 @@
 name:                deterministic-game-engine
-version:             0.2.0
+version:             0.2.1
 synopsis:            Simple deterministic game engine
 description:         Haskell library for creating simple deterministic games,
                      such as tic-tac-toe. The engine requires a minimal set of
@@ -42,6 +42,6 @@
   type:                exitcode-stdio-1.0
   build-depends:       base <5.0,
                        hspec >=2.1 && <2.2,
-                       deterministic-game-engine
+                       deterministic-game-engine ==0.2.1
 
   default-language:    Haskell2010
