diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.2.0
+
+* Make `PathMultiPiece` instance for lists based on `PathPiece` [Yesod issue #932](https://github.com/yesodweb/yesod/issues/932)
+
 ## 0.1.5
 
 Added more integral instances, and check bounds on them [#5](https://github.com/yesodweb/path-pieces/pull/5).
diff --git a/Web/PathPieces.hs b/Web/PathPieces.hs
--- a/Web/PathPieces.hs
+++ b/Web/PathPieces.hs
@@ -118,17 +118,9 @@
     fromPathMultiPiece :: [S.Text] -> Maybe s
     toPathMultiPiece :: s -> [S.Text]
 
-instance PathMultiPiece [String] where
-    fromPathMultiPiece = Just . map S.unpack
-    toPathMultiPiece = map S.pack
-
-instance PathMultiPiece [S.Text] where
-    fromPathMultiPiece = Just
-    toPathMultiPiece = id
-
-instance PathMultiPiece [L.Text] where
-    fromPathMultiPiece = Just . map (L.fromChunks . return)
-    toPathMultiPiece = map $ S.concat . L.toChunks
+instance PathPiece a => PathMultiPiece [a] where
+    fromPathMultiPiece = mapM fromPathPiece
+    toPathMultiPiece = map toPathPiece
 
 {-# DEPRECATED toSinglePiece "Use toPathPiece instead of toSinglePiece" #-}
 toSinglePiece :: PathPiece p => p -> S.Text
diff --git a/path-pieces.cabal b/path-pieces.cabal
--- a/path-pieces.cabal
+++ b/path-pieces.cabal
@@ -1,5 +1,5 @@
 name:            path-pieces
-version:         0.1.5
+version:         0.2.0
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
