diff --git a/spreadsheet.cabal b/spreadsheet.cabal
--- a/spreadsheet.cabal
+++ b/spreadsheet.cabal
@@ -1,5 +1,8 @@
+-- Unfriendly: if we swap quotation and separator character,
+-- then we get useless error message for (unquoted) inhalt.csv (no line number)
+-- idea: extend SourceParser
 Name:             spreadsheet
-Version:          0.1.3.2
+Version:          0.1.3.3
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -61,7 +64,7 @@
   Location: http://code.haskell.org/~thielema/spreadsheet/
 
 Source-Repository this
-  Tag:      0.1.3.2
+  Tag:      0.1.3.3
   Type:     darcs
   Location: http://code.haskell.org/~thielema/spreadsheet/
 
@@ -75,7 +78,7 @@
 Library
   Build-Depends:
     utility-ht >=0.0.2 && <0.1,
-    transformers >=0.2 && <0.4,
+    transformers >=0.2 && <0.5,
     explicit-exception >=0.1 && <0.2
   If flag(splitBase)
     Build-Depends: base >= 2 && <5
diff --git a/src/Data/Spreadsheet/CharSource.hs b/src/Data/Spreadsheet/CharSource.hs
--- a/src/Data/Spreadsheet/CharSource.hs
+++ b/src/Data/Spreadsheet/CharSource.hs
@@ -2,6 +2,7 @@
 module Data.Spreadsheet.CharSource where
 
 import Control.Monad.Trans.State (StateT(StateT), gets, runStateT, mapStateT, )
+import Control.Applicative (Applicative, )
 import Data.Functor.Identity (Identity(Identity), runIdentity, )
 
 import Data.List.HT (viewL, )
@@ -25,7 +26,7 @@
 
 
 newtype String fail a = String {runString :: StateT P.String fail a}
-   deriving (Monad)
+   deriving (Functor, Applicative, Monad)
 
 
 instance C String where
