diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 0.3
+
+- Fix lists not being prettified at the top level (#6)
+- Fix lists in nested data structures not being aligned (#6)
+
 # 0.2.3
 
 - Fix escaping of backslashes (#5)
diff --git a/show-prettyprint.cabal b/show-prettyprint.cabal
--- a/show-prettyprint.cabal
+++ b/show-prettyprint.cabal
@@ -1,5 +1,5 @@
 name:                show-prettyprint
-version:             0.2.3
+version:             0.3
 synopsis:            Robust prettyprinter for output of auto-generated Show
                      instances
 description:         See README.md
diff --git a/src/Text/Show/Prettyprint.hs b/src/Text/Show/Prettyprint.hs
--- a/src/Text/Show/Prettyprint.hs
+++ b/src/Text/Show/Prettyprint.hs
@@ -9,7 +9,7 @@
 --         , ("!"    , Left  (Pair False ())) ]
 -- :}
 --
--- Applying 'show' to it results in the fairly dense representation
+-- Applying 'show' to the nested example results in the fairly dense representation
 --
 -- >>> print nestedExample
 -- fromList [("!",Left (Pair False ())),("hello",Left (Pair True ())),("world",Right (Record {r1 = ('c',-1.2e34), r2 = 123}))]
@@ -69,3 +69,17 @@
 -- | 'prettifyToDoc' with the 'show' baked in.
 prettyShowDoc :: Show a => a -> Doc ann
 prettyShowDoc = prettifyToDoc . show
+
+-- $
+-- Regression (#6): Top-level lists weren’t prettified
+-- >>> :{
+-- let listExample =
+--         [ ("hello", Left  (Pair True ()))
+--         , ("world", Right (Record { r1 = ('c', -1.2e34), r2 = 123 }))
+--         , ("!"    , Left  (Pair False ())) ]
+-- :}
+--
+-- >>> prettyPrint listExample
+-- [("hello",Left (Pair True ()))
+-- ,("world",Right (Record {r1 = ('c',-1.2e34),r2 = 123}))
+-- ,("!",Left (Pair False ()))]
diff --git a/src/Text/Show/Prettyprint/Internal.hs b/src/Text/Show/Prettyprint/Internal.hs
--- a/src/Text/Show/Prettyprint/Internal.hs
+++ b/src/Text/Show/Prettyprint/Internal.hs
@@ -35,6 +35,7 @@
 -- :}
 
 
+
 parseShowString :: String -> Result (Doc ann)
 parseShowString = parseString shownP mempty
 
@@ -49,7 +50,7 @@
 -- Just ('c',Left ())
 valueP :: Parser (Doc ann)
 valueP = do
-    thing <- choice [identifierP, numberP, stringLitP, charLitP]
+    thing <- choice [identifierP, numberP, stringLitP, charLitP, listP]
     args <- many argP
     pure (if null args
         then thing
@@ -158,4 +159,28 @@
         lhs <- token identifierP
         _ <- token (Tri.char '=')
         rhs <- argP
-        pure (lhs <+> pretty '=' <+> rhs)
+        pure (lhs <+> pretty '=' <+> align rhs)
+
+-- $
+-- Regression (#6): Nested lists were not aligned properly
+-- >>> :{
+-- testParse valueP (concat
+--     ["ApiGroup {name = \"API Key\" ,endpoints = [Endpoint {path = "
+--     ,"\"/v1/auth/info\" ,description = \"Retrieve information about the"
+--     ," current API key.\" ,needsAPIKey = \"Yes\" ,method = \"GET\" ,"
+--     ,"requiredAccess = \"\"} ,Endpoint {path = \"/v1/auth/info\" ,"
+--     ,"description = \"Retrieve information about the current API key.\" ,"
+--     ,"needsAPIKey = \"Yes\" ,method = \"GET\" ,requiredAccess = \"\"}]}]"
+--     ])
+-- :}
+-- ApiGroup {name = "API Key"
+--          ,endpoints = [Endpoint {path = "/v1/auth/info"
+--                                 ,description = "Retrieve information about the current API key."
+--                                 ,needsAPIKey = "Yes"
+--                                 ,method = "GET"
+--                                 ,requiredAccess = ""}
+--                       ,Endpoint {path = "/v1/auth/info"
+--                                 ,description = "Retrieve information about the current API key."
+--                                 ,needsAPIKey = "Yes"
+--                                 ,method = "GET"
+--                                 ,requiredAccess = ""}]}
