diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,12 +1,16 @@
 # Revision history for seakale-postgresql
 
+## 0.2.0.1 -- 2017-03-20
+
+* Fix ToRow instance of lists.
+
 ## 0.2.0.0 -- 2017-02-23
 
-* Compatible version with seakale-0.2.0.0
+* Compatible version with seakale-0.2.0.0.
 
 ## 0.1.1.0 -- 2017-02-17
 
-* PSQL now takes a Bool to specify whether to log the queries to stderr
+* PSQL now takes a Bool to specify whether to log the queries to stderr.
 
 ## 0.1.0.0 -- 2017-01-31
 
diff --git a/seakale-postgresql.cabal b/seakale-postgresql.cabal
--- a/seakale-postgresql.cabal
+++ b/seakale-postgresql.cabal
@@ -1,5 +1,5 @@
 name:                  seakale-postgresql
-version:               0.2.0.0
+version:               0.2.0.1
 synopsis:              PostgreSQL backend for Seakale
 description:           This package provides a way to run code written with Seakale with a PostgreSQL database.
 license:               BSD3
@@ -14,7 +14,7 @@
 source-repository head
   type:                darcs
   location:            http://darcs.redspline.com/seakale
-  tag:                 seakale-postgresql-0.2.0.0
+  tag:                 seakale-postgresql-0.2.0.1
 
 library
   ghc-options:         -Wall
diff --git a/src/Database/Seakale/PostgreSQL/ToRow.hs b/src/Database/Seakale/PostgreSQL/ToRow.hs
--- a/src/Database/Seakale/PostgreSQL/ToRow.hs
+++ b/src/Database/Seakale/PostgreSQL/ToRow.hs
@@ -30,7 +30,7 @@
 instance {-# OVERLAPPABLE #-} ToRow PSQL One a => ToRow PSQL One [a] where
   toRow backend =
     singleton . Just . ("'{" <>) . (<> "}'") . mconcat . intersperse ","
-    . map (("\"" <>) . (<> "\"") . escapeByteString)
+    . map (("\"" <>) . (<> "\"") . escapeByteString . trimOuterQuotes)
     . (>>= map (fromMaybe "NULL") . vectorToList . toRow backend)
 
 escapeByteString :: BS.ByteString -> BS.ByteString
@@ -39,3 +39,8 @@
     (bs', ("\\", bs'')) -> bs' <> "\\\\" <> escapeByteString bs''
     (bs', ("\"", bs'')) -> bs' <> "\\\"" <> escapeByteString bs''
     (bs', _) -> bs'
+
+trimOuterQuotes :: BS.ByteString -> BS.ByteString
+trimOuterQuotes bs =
+  let bs' = case BS.splitAt 1 bs of { ("'", b) -> b; _ -> bs }
+  in case BS.unsnoc bs' of { Just (bs'', '\'') -> bs''; _ -> bs' }
