diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for cmdparse-applicative
 
+## 1.1.0.2  -- September 2017
+
+* Improve 'usage' pretty-printing
+
 ## 1.1.0.1  -- August 2017
 
 * Adapt for ghc-8.2
diff --git a/butcher.cabal b/butcher.cabal
--- a/butcher.cabal
+++ b/butcher.cabal
@@ -1,11 +1,11 @@
 name:                butcher
-version:             1.1.0.1
+version:             1.1.0.2
 synopsis:            Chops a command or program invocation into digestable pieces.
-description:         See the README (it is properly formatted on github)
+description:         See the <https://github.com/lspitzner/butcher/blob/master/README.md README> (it is properly formatted on github).
 license:             BSD3
 license-file:        LICENSE
 author:              Lennart Spitzner
-maintainer:          hexagoxel@hexagoxel.de
+maintainer:          Lennart Spitzner <hexagoxel@hexagoxel.de>
 copyright:           Copyright (C) 2016-2017 Lennart Spitzner
 category:            UI
 build-type:          Simple
diff --git a/src/UI/Butcher/Monadic.hs b/src/UI/Butcher/Monadic.hs
--- a/src/UI/Butcher/Monadic.hs
+++ b/src/UI/Butcher/Monadic.hs
@@ -79,8 +79,8 @@
 
 
 -- | Wrapper around 'runCmdParser' for very simple usage: Accept a @String@
--- input and return only the output from the parser, returning @Nothing@ in
--- any error case.
+-- input and return only the output from the parser, or a plain error string
+-- on failure.
 runCmdParserSimple :: String -> CmdParser Identity out () -> Either String out
 runCmdParserSimple s p = case snd $ runCmdParser Nothing (InputString s) p of
   Left e -> Left $ parsingErrorString e
diff --git a/src/UI/Butcher/Monadic/Pretty.hs b/src/UI/Butcher/Monadic/Pretty.hs
--- a/src/UI/Butcher/Monadic/Pretty.hs
+++ b/src/UI/Butcher/Monadic/Pretty.hs
@@ -59,7 +59,7 @@
 -- > playground [--short] NAME [version | help]
 ppUsage :: CommandDesc a -> PP.Doc
 ppUsage (CommandDesc mParent _help _syn parts out children) = pparents mParent
-  <+> PP.fsep (partDocs ++ [subsDoc])
+  <+> PP.sep [PP.fsep partDocs, subsDoc]
  where
   pparents :: Maybe (String, CommandDesc out) -> PP.Doc
   pparents Nothing        = PP.empty
@@ -208,12 +208,15 @@
   PartWithHelp _ p -> rec p
   PartReorder ps ->
     let flags  = [ d | PartMany d <- ps ]
-        params = filter ( \case
-                          PartMany{} -> False
-                          _          -> True
-                        )
-                        ps
-    in  PP.brackets (PP.fsep $ rec <$> flags) <+> PP.fsep (rec <$> params)
+        params = filter
+          ( \case
+            PartMany{} -> False
+            _          -> True
+          )
+          ps
+    in  PP.sep
+          [(PP.fsep $ PP.brackets . rec <$> flags), PP.fsep (rec <$> params)]
+
  where
   rec = ppPartDescUsage
 
