diff --git a/Epic/Language.lhs b/Epic/Language.lhs
--- a/Epic/Language.lhs
+++ b/Epic/Language.lhs
@@ -1,8 +1,16 @@
-> {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses,CPP,
-> FunctionalDependencies #-}
+> {-# LANGUAGE CPP #-}
 
+#if __GLASGOW_HASKELL__ >= 710
+> {-# LANGUAGE FlexibleContexts #-}
+#endif
+
+> {-# LANGUAGE FlexibleInstances      #-}
+> {-# LANGUAGE FunctionalDependencies #-}
+> {-# LANGUAGE MultiParamTypeClasses  #-}
+
 > module Epic.Language where
 
+> import Control.Applicative hiding ( Const )
 > import Control.Monad
 #if MIN_VERSION_base(4,6,0)
 > import Control.Exception.Base
@@ -342,12 +350,25 @@
 >               | Failure String String Int
 >     deriving (Show, Eq)
 > 
+
+> instance Functor Result where
+>   fmap = liftM
+
+> instance Applicative Result where
+>   pure  = return
+>   (<*>) = ap
+
 > instance Monad Result where
 >     (Success r)   >>= k = k r
 >     (Failure err fn line) >>= k = Failure err fn line
 >     return              = Success
 >     fail s              = Failure s "(no file)" 0
 > 
+
+> instance Alternative Result where
+>   (<|>) = mplus
+>   empty = mzero
+
 > instance MonadPlus Result where
 >     mzero = Failure "Error" "(no file)" 0
 >     mplus (Success x) _ = (Success x)
diff --git a/Epic/Scopecheck.lhs b/Epic/Scopecheck.lhs
--- a/Epic/Scopecheck.lhs
+++ b/Epic/Scopecheck.lhs
@@ -1,4 +1,10 @@
-> {-# OPTIONS_GHC -XFlexibleInstances #-}
+> {-# LANGUAGE CPP #-}
+
+#if __GLASGOW_HASKELL__ >= 710
+> {-# LANGUAGE FlexibleContexts #-}
+#endif
+
+> {-# LANGUAGE FlexibleInstances #-}
 
 > module Epic.Scopecheck where
 
diff --git a/epic.cabal b/epic.cabal
--- a/epic.cabal
+++ b/epic.cabal
@@ -1,5 +1,5 @@
 Name:           epic
-Version:        0.9.3.2
+Version:        0.9.3.3
 Author:         Edwin Brady
 License:        BSD3
 License-file:   LICENSE
diff --git a/evm/libevm.a b/evm/libevm.a
Binary files a/evm/libevm.a and b/evm/libevm.a differ
