diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -49,6 +49,7 @@
 - Daniel Corson (@dancor)
 - Dmitry Dzhus (@dzhus)
 - Niklas Hambüchen (@nh2)
+- Facundo Domínguez (@facundominguez)
 
 
 ### Introduction
@@ -104,8 +105,8 @@
     import Data.CSV.Conduit
     import Data.Text (Text)
 
-    myProcessor :: Conduit (Row Text) m (Row Text)
-    myProcessor = undefined
+    myProcessor :: Monad m => Conduit (Row Text) m (Row Text)
+    myProcessor = awaitForever $ yield
     
     -- Let's simply stream from a file, parse the CSV, reserialize it
     -- and push back into another file.
diff --git a/changelog.md b/changelog.md
new file mode 100644
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,2 @@
+0.6.7
+* Fix build for GHC 8.0.1
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.6.6
+Version:             0.6.7
 Synopsis:            A flexible, fast, conduit-based CSV parser library for Haskell.
 Homepage:            http://github.com/ozataman/csv-conduit
 License:             BSD3
@@ -56,6 +56,7 @@
 
 extra-source-files:
   README.md
+  changelog.md
   test/test.csv
   test/Test.hs
   test/Bench.hs
@@ -83,7 +84,7 @@
     , text
     , data-default
     , vector
-    , array 
+    , array
     , blaze-builder
     , unordered-containers
     , transformers
@@ -95,7 +96,7 @@
 
   if impl(ghc >= 7.2.1)
     cpp-options: -DGENERICS
-    build-depends: ghc-prim >= 0.2 && < 0.5
+    build-depends: ghc-prim >= 0.2 && < 0.6
 
 
 test-suite test
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
@@ -289,14 +289,11 @@
 
 -------------------------------------------------------------------------------
 -- | Read the entire contents of a CSV file into memory.
--- readCSVFile
---     :: (GV.Vector v a, CSV ByteString a)
---     => CSVSettings
---     -- ^ Settings to use in deciphering stream
---     -> FilePath
---     -- ^ Input file
---     -> IO (v a)
-readCSVFile :: (MonadIO m, CSV ByteString a) => CSVSettings -> FilePath -> m (V.Vector a)
+readCSVFile
+    :: (MonadIO m, CSV ByteString a)
+    => CSVSettings -- ^ Settings to use in deciphering stream
+    -> FilePath    -- ^ Input file
+    -> m (V.Vector a)
 readCSVFile set fp = liftIO . runResourceT $ sourceFile fp $= intoCSV set $$ hoist lift (sinkVector 10)
 
 
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
@@ -2,7 +2,8 @@
              Rank2Types #-}
 #ifdef GENERICS
 {-# LANGUAGE DefaultSignatures, TypeOperators, KindSignatures, FlexibleContexts,
-             MultiParamTypeClasses, UndecidableInstances, ScopedTypeVariables #-}
+             MultiParamTypeClasses, UndecidableInstances, ScopedTypeVariables,
+             DataKinds #-}
 #endif
 
 -----------------------------------------------------------------------------
@@ -35,6 +36,7 @@
     , FromField(..)
     , ToRecord(..)
     , ToField(..)
+    , Field
 
     -- * Parser
     , Parser
@@ -856,7 +858,11 @@
 instance FromField a => GFromRecordProd (K1 i a) Record where
     gparseRecordProd n = (n + 1, \v -> K1 <$> parseField (V.unsafeIndex v n))
 
+#if MIN_VERSION_base(4,9,0)
+data Proxy (s :: Meta) (f :: * -> *) a = Proxy
+#else
 data Proxy s (f :: * -> *) a = Proxy
+#endif
 
 instance (FromField a, Selector s) => GFromRecordProd (M1 S s (K1 i a)) NamedRecord where
     gparseRecordProd n = (n + 1, \v -> (M1 . K1) <$> v .: name)
