diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for javelin-io
 
+## Release 0.1.1.1
+
+* Documentation fixes
+
 ## Release 0.1.1.0
 
 * This is the first version of `javelin-io`.
diff --git a/javelin-io.cabal b/javelin-io.cabal
--- a/javelin-io.cabal
+++ b/javelin-io.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               javelin-io
-version:            0.1.1.0
+version:            0.1.1.1
 synopsis:           IO operations for the `javelin` package
 license:            MIT
 license-file:       LICENSE
@@ -10,9 +10,9 @@
 build-type:         Simple
 extra-doc-files:    CHANGELOG.md
 extra-source-files: test/data/*.csv
-tested-with:        GHC ==9.8.1 
-                     || ==9.6.3
-                     || ==9.4.7
+tested-with:        GHC ==9.8.2 
+                     || ==9.6.4
+                     || ==9.4.8
 description:
         
         This package implements serialization/deserialization of 'Series', labeled one-dimensional arrays
@@ -46,7 +46,7 @@
                       Data.Series.Generic.IO
                       Data.Series.Unboxed.IO
     build-depends:    base >=4.15.0.0 && <4.20,
-                      bytestring ^>=0.12,
+                      bytestring >=0.11 && <0.13,
                       cassava ^>=0.5,
                       containers >=0.6 && <0.8,
                       unordered-containers ^>=0.2,
diff --git a/src/Data/Series/Generic/IO.hs b/src/Data/Series/Generic/IO.hs
--- a/src/Data/Series/Generic/IO.hs
+++ b/src/Data/Series/Generic/IO.hs
@@ -92,7 +92,7 @@
 main :: IO ()
 main = do
     stream <- (...) -- Read the bytestring from somewhere
-    let (latlongs  :: 'Series' Vector City LatLong) = either (error . show) id \<$\> `readCSV` stream
+    let (latlongs  :: 'Series' Vector City LatLong) = either error id (`readCSV` stream)
     print latlongs
 @
 -}
@@ -127,12 +127,11 @@
 @
 import "Data.Series.Generic"
 import "Data.Series.Generic.IO"
-import "Data.Vector" 
+import "Data.Vector"
 
 main :: IO ()
 main = do
-    stream <- (...) -- Read the bytestring from somewhere
-    let (latlongs  :: 'Series' Vector City LatLong) = either (error . show) id \<$\> `readCSV` stream
+    let (latlongs  :: 'Series' Vector City LatLong) = either error id \<$\> `readCSVFromFile` "somefile.csv"
     print latlongs
 @
 -}
@@ -142,60 +141,7 @@
 readCSVFromFile fp = fromFile fp readCSV 
 
 
-
-{-|
-Read a comma-separated value (CSV) bytestream into a series.
-
-Consider the following bytestream read from a file:
-
-@
-latitude,longitude,city
-48.856667,2.352222,Paris
-40.712778,-74.006111,New York City
-25.0375,121.5625,Taipei
--34.603333,-58.381667,Buenos Aires
-@
-
-We want to get a series of the latitude an longitude, indexed by the column "city". First, we need
-to do is to create a datatype representing the latitude and longitude information, and our index:
-
-@
-data LatLong = MkLatLong { latitude  :: Double
-                         , longitude :: Double
-                         }
-    deriving ( Show )
-
-newtype City = MkCity String
-    deriving ( Eq, Ord, Show )
-@
-
-Second, we need to create an instance of `Data.Csv.FromNamedRecord` for our new types:
-
-@
-import "Data.Csv" ( 'FromNamedRecord', '(.:)' )
-
-instance 'FromNamedRecord' LatLong where
-    'parseNamedRecord' r = MkLatLong \<$\> r .: "latitude"
-                                   \<*\> r .: "longitude"
-
-
-instance 'FromNamedRecord' City where
-    'parseNamedRecord' r = MkCity \<$\> r .: "city"
-@
-
-Finally, we're ready to read our stream:
-
-@
-import Data.Series
-import Data.Series.IO
-
-main :: IO ()
-main = do
-    stream <- (...) -- Read the bytestring from somewhere
-    let (latlongs  :: 'Series' City LatLong) = either (error . show) id \<$\> `readCSV` stream
-    print latlongs
-@
--}
+-- | Serialize a 'Series' to bytes. 
 writeCSV :: (Vector v a, ToNamedRecord k, ToNamedRecord a)
          => Series v k a
          -> BL.ByteString
@@ -205,8 +151,7 @@
     pure $ CSV.encodeByName header $ NE.toList recs
 
 
--- | This is a helper function to write a 'Series' directly to CSV.
--- See the documentation for 'writeCSV' on how to prepare your types.
+-- | This is a helper function to write a 'Series' directly to a file.
 writeCSVToFile :: (MonadIO m, Vector v a, ToNamedRecord k, ToNamedRecord a)
                => FilePath
                -> Series v k a
diff --git a/src/Data/Series/IO.hs b/src/Data/Series/IO.hs
--- a/src/Data/Series/IO.hs
+++ b/src/Data/Series/IO.hs
@@ -77,8 +77,8 @@
 
 main :: IO ()
 main = do
-    let fp = "path/to/my/file.csv"
-    let (latlongs  :: 'Series' City LatLong) = either (error . show) id \<$\> `readCSVFromFile` fp
+    stream <- (...) -- get the bytes from somewhere
+    let (latlongs  :: 'Series' City LatLong) = either error id (`readCSV` stream)
     print latlongs
 @
 -}
@@ -99,8 +99,7 @@
 
 main :: IO ()
 main = do
-    let fp = "path/to/my/file.csv"
-    let (latlongs  :: 'Series' City LatLong) = either (error . show) id \<$\> `readCSVFromFile` fp
+    let (latlongs  :: 'Series' City LatLong) = either error id \<$\> `readCSVFromFile` "somefile.csv"
     print latlongs
 @
 -}
@@ -110,68 +109,14 @@
 readCSVFromFile = Generic.IO.readCSVFromFile
 
 
-
-{-|
-Read a comma-separated value (CSV) bytestream into a series.
-
-Consider the following bytestream read from a file:
-
-@
-latitude,longitude,city
-48.856667,2.352222,Paris
-40.712778,-74.006111,New York City
-25.0375,121.5625,Taipei
--34.603333,-58.381667,Buenos Aires
-@
-
-We want to get a series of the latitude an longitude, indexed by the column "city". First, we need
-to do is to create a datatype representing the latitude and longitude information, and our index:
-
-@
-data LatLong = MkLatLong { latitude  :: Double
-                         , longitude :: Double
-                         }
-    deriving ( Show )
-
-newtype City = MkCity String
-    deriving ( Eq, Ord, Show )
-@
-
-Second, we need to create an instance of `Data.Csv.FromNamedRecord` for our new types:
-
-@
-import "Data.Csv" ( 'FromNamedRecord', '(.:)' )
-
-instance 'FromNamedRecord' LatLong where
-    'parseNamedRecord' r = MkLatLong \<$\> r .: "latitude"
-                                   \<*\> r .: "longitude"
-
-
-instance 'FromNamedRecord' City where
-    'parseNamedRecord' r = MkCity \<$\> r .: "city"
-@
-
-Finally, we're ready to read our stream:
-
-@
-import Data.Series
-import Data.Series.IO
-
-main :: IO ()
-main = do
-    stream <- (...) -- Read the bytestring from somewhere
-    let (latlongs  :: 'Series' City LatLong) = either (error . show) id \<$\> `readCSV` stream
-    print latlongs
-@
--}
+-- | Serialize a 'Series' to bytes. 
 writeCSV :: (ToNamedRecord k, ToNamedRecord a)
          => Series k a
          -> BL.ByteString
 writeCSV = Generic.IO.writeCSV
 
 
--- | This is a helper function to write a 'Series' directly to CSV.
--- See the documentation for 'writeCSV' on how to prepare your types.
+-- | This is a helper function to write a 'Series' directly to a file.
 writeCSVToFile :: (MonadIO m, ToNamedRecord k, ToNamedRecord a)
                => FilePath
                -> Series k a
diff --git a/src/Data/Series/Unboxed/IO.hs b/src/Data/Series/Unboxed/IO.hs
--- a/src/Data/Series/Unboxed/IO.hs
+++ b/src/Data/Series/Unboxed/IO.hs
@@ -98,7 +98,7 @@
 main :: IO ()
 main = do
     stream <- (...) -- Read the bytestring from somewhere
-    let (latitudes  :: 'Series' City Latitude) = either (error . show) id \<$\> `readCSV` stream
+    let (latitudes  :: 'Series' City Latitude) = either error id (`readCSV` stream)
     print latitudes
 @
 -}
@@ -119,8 +119,7 @@
 
 main :: IO ()
 main = do
-    stream <- (...) -- Read the bytestring from somewhere
-    let (latitudes  :: 'Series' City Latitude) = either (error . show) id \<$\> `readCSV` stream
+    let (latlongs  :: 'Series' City LatLong) = either error id \<$\> `readCSVFromFile` "somefile.csv"
     print latitudes
 @
 -}
@@ -130,68 +129,14 @@
 readCSVFromFile = Generic.IO.readCSVFromFile
 
 
-
-{-|
-Read a comma-separated value (CSV) bytestream into a series.
-
-Consider the following bytestream read from a file:
-
-@
-latitude,longitude,city
-48.856667,2.352222,Paris
-40.712778,-74.006111,New York City
-25.0375,121.5625,Taipei
--34.603333,-58.381667,Buenos Aires
-@
-
-We want to get a series of the latitude an longitude, indexed by the column "city". First, we need
-to do is to create a datatype representing the latitude and longitude information, and our index:
-
-@
-data LatLong = MkLatLong { latitude  :: Double
-                         , longitude :: Double
-                         }
-    deriving ( Show )
-
-newtype City = MkCity String
-    deriving ( Eq, Ord, Show )
-@
-
-Second, we need to create an instance of `Data.Csv.FromNamedRecord` for our new types:
-
-@
-import "Data.Csv" ( 'FromNamedRecord', '(.:)' )
-
-instance 'FromNamedRecord' LatLong where
-    'parseNamedRecord' r = MkLatLong \<$\> r .: "latitude"
-                                   \<*\> r .: "longitude"
-
-
-instance 'FromNamedRecord' City where
-    'parseNamedRecord' r = MkCity \<$\> r .: "city"
-@
-
-Finally, we're ready to read our stream:
-
-@
-import Data.Series
-import Data.Series.IO
-
-main :: IO ()
-main = do
-    stream <- (...) -- Read the bytestring from somewhere
-    let (latlongs  :: 'Series' City LatLong) = either (error . show) id \<$\> `readCSV` stream
-    print latlongs
-@
--}
+-- | Serialize a 'Series' to bytes. 
 writeCSV :: (ToNamedRecord k, ToNamedRecord a, Unbox a)
          => Series k a
          -> BL.ByteString
 writeCSV = Generic.IO.writeCSV
 
 
--- | This is a helper function to write a 'Series' directly to CSV.
--- See the documentation for 'writeCSV' on how to prepare your types.
+-- | This is a helper function to write a 'Series' directly to a file.
 writeCSVToFile :: (MonadIO m, ToNamedRecord k, ToNamedRecord a, Unbox a)
                => FilePath
                -> Series k a
diff --git a/test/Test/Data/Series/IO.hs b/test/Test/Data/Series/IO.hs
--- a/test/Test/Data/Series/IO.hs
+++ b/test/Test/Data/Series/IO.hs
@@ -43,7 +43,7 @@
 
 testReadCSVFromFile :: TestTree
 testReadCSVFromFile = testCase "Read CSV data" $ do
-    (latlongs  :: Series Vector City LatLong) <- either (error . show) id <$> readCSVFromFile "test/data/lat-long-city.csv"
+    (latlongs  :: Series Vector City LatLong) <- either error id <$> readCSVFromFile "test/data/lat-long-city.csv"
 
     let latitudes  = fmap lat latlongs
         longitudes = fmap long latlongs
@@ -63,11 +63,11 @@
 
 testWriteCSVToFile :: TestTree
 testWriteCSVToFile = testCase "Write CSV data" $ do
-    (latlongs  :: Series Vector City LatLong) <- either (error . show) id <$> readCSVFromFile "test/data/lat-long-city.csv"
+    (latlongs  :: Series Vector City LatLong) <- either error id <$> readCSVFromFile "test/data/lat-long-city.csv"
     
     (written :: Series Vector City LatLong) <- withSystemTempDirectory "test-javelin-op" $ \dirname -> do
         writeCSVToFile (dirname </> "myseries.csv") latlongs
 
-        either (error . show) id <$> readCSVFromFile (dirname </> "myseries.csv")
+        either error id <$> readCSVFromFile (dirname </> "myseries.csv")
     
     assertEqual mempty latlongs written
