diff --git a/src/Control/Applicative/Interleaved.hs b/src/Control/Applicative/Interleaved.hs
--- a/src/Control/Applicative/Interleaved.hs
+++ b/src/Control/Applicative/Interleaved.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE ExistentialQuantification,
              ScopedTypeVariables,
-             FlexibleInstances #-}
+             FlexibleInstances,
+             CPP  #-}
 
 -- | This module contains the additional data types, instance definitions and functions to run parsers in an interleaved way.
 --   If all the interleaved parsers recognise a single connected piece of the input text this incorporates the permutation parsers.
@@ -26,8 +27,11 @@
 
 -- import Text.ParserCombinators.UU.Core
 import Control.Applicative
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 710
+import Data.Monoid hiding (Alt)
+#else
 import Data.Monoid
-
+#endif
 
 infixl 4  <||>
 infixl 4  <<||> 
@@ -92,7 +96,7 @@
 -- | The function `<||>` is the merging equivalent of `<*>`. Instead of running its two arguments consecutively, 
 --   the input is split into parts which serve as input for the left operand and parts which are served to the right operand. 
 
-fb2a <||> fb = fb2a <<||> fb <|> flip ($) <$> fb <<||> fb2a
+gb2a <||> gb = gb2a <<||> gb <|> flip ($) <$> gb <<||> gb2a
 
 -- | The left hand side operand is gradually transformed so we get access to its first component
 instance Functor f => Applicative (Gram f) where
@@ -112,7 +116,7 @@
 instance  Functor f =>  Monad (Gram f) where
   return a = Gram [] (Just a)
   Gram lb mb >>= b2g_a = 
-     let bindto :: Functor f => Alt f b -> (b -> Gram f a) -> Alt f a
+     let -- bindto :: Functor f => Alt f b -> (b -> Gram f a) -> Alt f a
          (f_c2b `Seq`  g_c)   `bindto` b2g_a = f_c2b `Bind` \ c2b  -> c2b <$> g_c   >>= b2g_a
          (f_c   `Bind` c2g_b) `bindto` b2g_a = f_c   `Bind` \ c    -> c2g_b c       >>= b2g_a
          la = map (`bindto` b2g_a) lb
diff --git a/uu-interleaved.cabal b/uu-interleaved.cabal
--- a/uu-interleaved.cabal
+++ b/uu-interleaved.cabal
@@ -1,5 +1,5 @@
 Name:                uu-interleaved
-Version:             0.1.0.0
+Version:             0.2.0.0
 Build-Type:          Simple
 License:             MIT
 Copyright:           S Doaitse Swierstra 
@@ -12,8 +12,8 @@
 Synopsis:            Providing an interleaving combinator for use with applicative/alternative style implementations.
 Description:         This module contains parser library independent code which can be used to describe inlerleaved execution of applicative style structures. 
                      It is amongst other used in the uu-options package, which provides facilities for parsing command-line options or files containing preferences. 
-                     It gneralises the permuting parsers and the list merging parsers as e.g. found in the uulib library. For  a fuller description see the Technical Report 
-                     describing its implementation and application at: http://www.cs.uu.nl/research/techreps/UU-CS-2013-005.html
+                     It generalises the permuting parsers and the list merging parsers as e.g. found in the uulib library. For  a more complete description see the Technical Report 
+                     describing its implementation and use see http://www.cs.uu.nl/research/techreps/UU-CS-2013-005.html
 Category:            Control, Applicative, Parsing, Text
 
 cabal-version:       >= 1.6
