diff --git a/FST/NReg.hs b/FST/NReg.hs
--- a/FST/NReg.hs
+++ b/FST/NReg.hs
@@ -1,6 +1,7 @@
 {- |
 Neutral regular expressions
 -}
+{-# LANGUAGE CPP #-}
 module FST.NReg (
   -- * Types
   NReg(..),
@@ -11,6 +12,9 @@
   nVarToSymbol
   ) where
 
+#if MIN_VERSION_base(4,8,0)
+import Prelude hiding ((<*>))
+#endif
 import Control.Monad
 import FST.RegTypes
 import FST.RRegTypes
diff --git a/FST/Parse.hs b/FST/Parse.hs
--- a/FST/Parse.hs
+++ b/FST/Parse.hs
@@ -7,7 +7,8 @@
 import FST.RRegTypes (RReg)
 import FST.Lexer
 
-import Control.Monad (liftM,liftM2)
+import Control.Monad (liftM,liftM2,ap)
+import Control.Applicative(Applicative(..))
 
 data HappyAbsSyn t5 t6 t7
 	= HappyTerminal Token
@@ -709,6 +710,12 @@
 
 data E a =   Ok a
 	   | FailE String
+
+instance Functor E where fmap = liftM
+
+instance Applicative E where
+  pure = return
+  (<*>) = ap
 
 instance Monad (E) where
  return = returnE
diff --git a/FST/RRegTypes.hs b/FST/RRegTypes.hs
--- a/FST/RRegTypes.hs
+++ b/FST/RRegTypes.hs
@@ -1,6 +1,7 @@
 {- |
 Functions for constructing a simplified regular relation.
 -}
+{-# LANGUAGE CPP #-}
 module FST.RRegTypes ( 
   module FST.RegTypes,
   -- * Types
@@ -11,6 +12,9 @@
   idR, r,
   ) where
 
+#if MIN_VERSION_base(4,8,0)
+import Prelude hiding ((<*>))
+#endif
 import FST.RegTypes
 import FST.TransducerTypes (Symbol(..))
 
diff --git a/fst.cabal b/fst.cabal
--- a/fst.cabal
+++ b/fst.cabal
@@ -1,5 +1,5 @@
 name: fst
-version: 0.10.0.0
+version: 0.10.0.1
 synopsis: Finite state transducers
 description:
   Fst is an application for construction and running of finite state
@@ -39,7 +39,7 @@
 source-repository this
   type: git
   location: git://github.com/johnjcamilleri/fst.git
-  tag: v0.10.0.0
+  tag: v0.10.0.1
 
 library
   build-depends:
