diff --git a/IOSpec.cabal b/IOSpec.cabal
--- a/IOSpec.cabal
+++ b/IOSpec.cabal
@@ -1,8 +1,8 @@
 Name:            IOSpec
-Version:         0.3.1.1
+Version:         0.3.1.2
 License:         BSD3
 License-file:    LICENSE
-Cabal-Version:   >= 1.6
+Cabal-Version:   >= 1.10
 Author:          Wouter Swierstra,
                  Yusaku Hashimoto,
                  Nikolay Amiantov,
@@ -53,10 +53,18 @@
 
 Library
     Build-Depends:    base >= 4.8.0.0 && < 5
-      , mtl
+      , mtl >= 2 && < 3
       , QuickCheck >= 2 && < 3
-      , Stream
-    Extensions:       MultiParamTypeClasses, OverlappingInstances
+      , Stream < 1
+    Default-Language:   Haskell98
+    Default-Extensions: MultiParamTypeClasses
+       , OverlappingInstances
+    Other-Extensions:   DeriveDataTypeable
+       , EmptyDataDecls
+       , ExistentialQuantification
+       , FlexibleInstances
+       , FlexibleContexts
+       , TypeOperators
     Ghc-options:      -Wall
     Hs-source-dirs:   src
     Exposed-modules:  Test.IOSpec
diff --git a/src/Test/IOSpec/Types.hs b/src/Test/IOSpec/Types.hs
--- a/src/Test/IOSpec/Types.hs
+++ b/src/Test/IOSpec/Types.hs
@@ -2,7 +2,7 @@
 -- | This module contains the basic data types underlying the
 -- 'IOSpec' library. Most of the types and classes in this module
 -- are described in
--- <https://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf>
+-- <https://webspace.science.uu.nl/~swier004//publications/2008-jfp.pdf>
 module Test.IOSpec.Types
   (
   -- * The 'IOSpec' type.
diff --git a/src/Test/IOSpec/VirtualMachine.hs b/src/Test/IOSpec/VirtualMachine.hs
--- a/src/Test/IOSpec/VirtualMachine.hs
+++ b/src/Test/IOSpec/VirtualMachine.hs
@@ -43,7 +43,7 @@
 import qualified Data.Stream as Stream
 import Test.IOSpec.Types
 import Test.QuickCheck
-import Control.Monad (ap)
+import Control.Monad (liftM, ap)
 
 type Data         = Dynamic
 type Loc          = Int
