--- /dev/null
+diff --git a/src/Helium/Parser/LexerMonad.hs b/src/Helium/Parser/LexerMonad.hs
+index 75ac077..af35093 100644
+--- a/src/Helium/Parser/LexerMonad.hs
++++ b/src/Helium/Parser/LexerMonad.hs
+@@ -20,2 +20,4 @@ import Helium.Parser.LexerMessage
+ import Text.ParserCombinators.Parsec.Pos
++import Control.Applicative
++import Control.Monad
+
+@@ -47,2 +49,9 @@ returnLM x = LM (\_ pos brackets -> Right (x, [], pos, brackets))
+
++instance Functor LexerMonad where
++ fmap = liftM
++
++instance Applicative LexerMonad where
++ pure = return
++ (<*>) = ap -- defined in Control.Monad
++
+ instance Monad LexerMonad where
+diff --git a/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs
+index 880ac0b..90574f0 100644
+--- a/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs
++++ b/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs
+@@ -1 +1,2 @@
++{-# LANGUAGE FlexibleContexts #-}
+ {-| Module : OnlyResultHeuristics
+diff --git a/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs
+index 89e43f2..251406f 100644
+--- a/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs
++++ b/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs
+@@ -1 +1,2 @@
++{-# LANGUAGE FlexibleContexts #-}
+ {-| Module : RepairHeuristics
+diff --git a/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs
+index d0b01a3..ba7ca19 100644
+--- a/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs
++++ b/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs
+@@ -1 +1,2 @@
++{-# LANGUAGE FlexibleContexts #-}
+ {-| Module : TieBreakerHeuristics
+diff --git a/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs
+index c2e91f5..493c882 100644
+--- a/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs
++++ b/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs
+@@ -1 +1,2 @@
++{-# LANGUAGE FlexibleContexts #-}
+ {-| Module : UnifierHeuristics
+diff --git a/src/Helium/Syntax/UHA_Pretty.hs b/src/Helium/Syntax/UHA_Pretty.hs
+index af970dc..ee42a48 100644
+--- a/src/Helium/Syntax/UHA_Pretty.hs
++++ b/src/Helium/Syntax/UHA_Pretty.hs
+@@ -17,2 +17,3 @@ import Control.Monad.Identity (Identity)
+ import qualified Control.Monad.Identity
++import Prelude hiding ((<$>))
+