diff --git a/Control/Monad/AdvSTM/Def.hs b/Control/Monad/AdvSTM/Def.hs
--- a/Control/Monad/AdvSTM/Def.hs
+++ b/Control/Monad/AdvSTM/Def.hs
@@ -21,13 +21,24 @@
 import Control.Concurrent.STM.TVar(TVar) 
 import Control.Concurrent.STM.TMVar(TMVar) 
 import Control.Concurrent(MVar,ThreadId)
-import Control.Monad(Monad,MonadPlus)
+import Control.Applicative(Alternative,(<|>),(<*>),empty)
+import Control.Monad(Monad,MonadPlus,ap,liftM,mplus,mzero)
 import Control.Monad.Reader(ReaderT,mapReaderT,runReaderT)
 
+instance Functor AdvSTM where
+    fmap  = liftM
+
+instance Applicative AdvSTM where
+    pure  = return
+    (<*>) = ap 
+
+instance Alternative AdvSTM where
+    (<|>) = mplus
+    empty = mzero
+
 -- | Drop-in replacement for the STM monad
 newtype AdvSTM a = AdvSTM (ReaderT Env S.STM a)
-                deriving ( Functor
-                         , Monad
+                deriving ( Monad
                          , MonadPlus
                          )
 
diff --git a/stm-io-hooks.cabal b/stm-io-hooks.cabal
--- a/stm-io-hooks.cabal
+++ b/stm-io-hooks.cabal
@@ -20,11 +20,11 @@
 
 Category:       Concurrency
 Stability:      experimental
-Author:         Peter Robinson 2009-2014, Chris Kuklewicz 2006
+Author:         Peter Robinson 2009-2015, Chris Kuklewicz 2006
 Maintainer:     Peter Robinson <thaldyron@gmail.com>
 License:        BSD3
 License-file:   LICENSE
-Version:        1.0.1
+Version:        1.1.0
 
 Build-type:     Simple                        
 Cabal-Version:  >= 1.6
