diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,6 @@
+0.7.1.0
+* Add MonadFail instance for Parser. [PR 38](https://github.com/ozataman/csv-conduit/pull/38)
+
 0.7.0.0
 * BREAKING: Switch from partial Monoid instance on Parser to total Semigroup instance.
 * Compatibility with GHC 8.4.x/base-4.11.1.0
diff --git a/csv-conduit.cabal b/csv-conduit.cabal
--- a/csv-conduit.cabal
+++ b/csv-conduit.cabal
@@ -1,5 +1,5 @@
 Name:                csv-conduit
-Version:             0.7.0.0
+Version:             0.7.1.0
 Synopsis:            A flexible, fast, conduit-based CSV parser library for Haskell.
 Homepage:            http://github.com/ozataman/csv-conduit
 License:             BSD3
diff --git a/src/Data/CSV/Conduit.hs b/src/Data/CSV/Conduit.hs
--- a/src/Data/CSV/Conduit.hs
+++ b/src/Data/CSV/Conduit.hs
@@ -59,7 +59,7 @@
 import qualified Data.Vector                        as V
 import qualified Data.Vector.Generic                as GV
 import qualified Data.Vector.Generic.Mutable        as GMV
-import           Data.Void                          (Void)
+import           Data.Void                           as Void
 import           System.IO
 -------------------------------------------------------------------------------
 import           Data.CSV.Conduit.Conversion        (FromNamedRecord (..),
@@ -327,7 +327,7 @@
     csvConvert' :: ConduitM s a (CatchT (ST s1)) ()
     csvConvert' = intoCSV set
     growthFactor = 10
-    sink :: ConduitM a Void (ExceptT SomeException (ST s1)) (v a)
+    sink :: ConduitM a Void.Void (ExceptT SomeException (ST s1)) (v a)
     sink = sinkVector growthFactor
     pipeline :: ExceptT SomeException (ST s1) (v a)
     pipeline = runConduit (src .| csvConvert .| sink)
@@ -391,7 +391,7 @@
     -- ^ A raw stream data source. Ex: 'sourceFile inFile'
     -> ConduitM a b m ()
     -- ^ A transforming conduit
-    -> ConduitM s' Void m ()
+    -> ConduitM s' Void.Void m ()
     -- ^ A raw stream data sink. Ex: 'sinkFile outFile'
     -> m ()
 transformCSV set = transformCSV' set set
@@ -419,7 +419,7 @@
     -- ^ A raw stream data source. Ex: 'sourceFile inFile'
     -> ConduitM a b m ()
     -- ^ A transforming conduit
-    -> ConduitM s' Void m ()
+    -> ConduitM s' Void.Void m ()
     -- ^ A raw stream data sink. Ex: 'sinkFile outFile'
     -> m ()
 transformCSV' setIn setOut source c sink = runConduit $
diff --git a/src/Data/CSV/Conduit/Conversion.hs b/src/Data/CSV/Conduit/Conversion.hs
--- a/src/Data/CSV/Conduit/Conversion.hs
+++ b/src/Data/CSV/Conduit/Conversion.hs
@@ -751,6 +751,11 @@
     {-# INLINE (>>=) #-}
     return a = Parser $ \_kf ks -> ks a
     {-# INLINE return #-}
+
+#if MIN_VERSION_base(4,13,0)
+instance MonadFail Parser where
+#endif
+
     fail msg = Parser $ \kf _ks -> kf msg
     {-# INLINE fail #-}
 
diff --git a/src/Data/CSV/Conduit/Conversion/Internal.hs b/src/Data/CSV/Conduit/Conversion/Internal.hs
--- a/src/Data/CSV/Conduit/Conversion/Internal.hs
+++ b/src/Data/CSV/Conduit/Conversion/Internal.hs
@@ -12,7 +12,7 @@
 import           Data.Int
 import           Data.Word
 
-import           Data.CSV.Conduit.Monoid        ((<>))
+import           Data.CSV.Conduit.Monoid        as Monoid ((<>))
 
 ------------------------------------------------------------------------
 -- Integers
@@ -46,7 +46,7 @@
     :: Word64 -> Builder #-}
 {-# NOINLINE formatDecimal #-}
 formatDecimal i
-    | i < 0     = minus <>
+    | i < 0     = minus Monoid.<>
                   if i <= -128
                   then formatPositive (-(i `quot` 10)) <> digit (-(i `rem` 10))
                   else formatPositive (-i)
