diff --git a/CC-delcont.cabal b/CC-delcont.cabal
--- a/CC-delcont.cabal
+++ b/CC-delcont.cabal
@@ -1,5 +1,5 @@
 Name:                   CC-delcont
-Version:                0.2
+Version:                0.2.1.0
 Description:            An implementation of multi-prompt delimited continuations based
                         on the paper, /A Monadic Framework for Delimited Continuations/,
                         by R. Kent Dybvig, Simon Peyton Jones and Amr Sabry
@@ -24,20 +24,22 @@
 
 Stability:              Experimental
 Tested-With:            GHC
-Build-Depends:          base, mtl
 Build-Type:             Simple
+Cabal-Version:          >= 1.2.3
 
-Exposed-Modules:        Control.Monad.CC,
-                        Control.Monad.CC.Dynvar,
-                        Control.Monad.CC.Seq,
-                        Control.Monad.CC.Prompt,
-                        Control.Monad.CC.Cursor
-Extensions:             MultiParamTypeClasses,
-                        UndecidableInstances,
-                        FunctionalDependencies,
-                        Rank2Types,
-                        GeneralizedNewtypeDeriving,
-                        FlexibleInstances,
-                        GADTs
-GHC-Options:            -O2 -Wall
+library
+  Build-Depends:          base >= 4 && < 5, mtl >= 2 && < 3
+  Exposed-Modules:        Control.Monad.CC,
+                          Control.Monad.CC.Dynvar,
+                          Control.Monad.CC.Seq,
+                          Control.Monad.CC.Prompt,
+                          Control.Monad.CC.Cursor
+  Extensions:             MultiParamTypeClasses,
+                          UndecidableInstances,
+                          FunctionalDependencies,
+                          Rank2Types,
+                          GeneralizedNewtypeDeriving,
+                          FlexibleInstances,
+                          GADTs
+  GHC-Options:            -O2 -Wall
 
diff --git a/Control/Monad/CC/Prompt.hs b/Control/Monad/CC/Prompt.hs
--- a/Control/Monad/CC/Prompt.hs
+++ b/Control/Monad/CC/Prompt.hs
@@ -31,6 +31,8 @@
         Equal(..)
     ) where
 
+import Control.Applicative
+
 import Control.Monad.State
 import Control.Monad.Reader
 import Control.Monad.Trans
@@ -49,7 +51,7 @@
 -- | The prompt generation monad. Represents the type of computations that
 -- make use of a supply of unique prompts.
 newtype P ans m a = P { unP :: StateT Int m a }
-    deriving (Functor, Monad, MonadTrans, MonadState Int, MonadReader r)
+    deriving (Functor, Applicative, Monad, MonadTrans, MonadState Int, MonadReader r)
 
 -- | Runs a computation that makes use of prompts, yielding a result in the
 -- underlying monad.
