diff --git a/Coalpit.hs b/Coalpit.hs
--- a/Coalpit.hs
+++ b/Coalpit.hs
@@ -4,10 +4,10 @@
 Stability   :  unstable
 Portability :  non-portable (uses GHC extensions)
 
-Coalpit is a library for building "command-line program interfaces":
-the goal is to get interfaces between programs quickly and easily,
-while keeping them language-agnostic and more user- and shell
-scripting-friendly than JSON and similar formats.
+Coalpit is a library for building command-line interfaces: the goal is
+to get interfaces quickly and easily, while keeping them
+language-agnostic and more user- and shell scripting-friendly than
+JSON and similar formats.
 
 
 == Example
diff --git a/Coalpit/Core.hs b/Coalpit/Core.hs
--- a/Coalpit/Core.hs
+++ b/Coalpit/Core.hs
@@ -233,6 +233,19 @@
     in USum (handleRecCon nameA opt path (Proxy :: Proxy (a p)))
        (handleRecCon nameB opt path (Proxy :: Proxy (b p)))
 
+instance {-# OVERLAPPABLE #-}
+  (GCoalpit a, GCoalpit b) => GCoalpit (a :+: b) where
+  gArgParser opt =
+    L1 <$> gArgParser opt
+    <|>
+    R1 <$> gArgParser opt
+  gToArgs opt (L1 x) = gToArgs opt x
+  gToArgs opt (R1 x) = gToArgs opt x
+  gArgHelper opt path (Proxy :: Proxy ((a :+: b) p)) =
+    -- let nameA = conName (undefined :: a p)
+    -- in
+      USum (gArgHelper opt path (Proxy :: Proxy (a p)))
+       (gArgHelper opt path (Proxy :: Proxy (b p)))
 
 -- Record Selectors
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,11 +1,9 @@
 # Coalpit
 
-Coalpit is a library for
-building
-[command-line program interfaces](https://defanor.uberspace.net/notes/command-line-program-interface.html):
-the goal is to get interfaces between programs quickly and easily,
-while keeping them language-agnostic and more user- and shell
-scripting-friendly than JSON and similar formats.
+Coalpit is a library for building command-line interfaces: the goal is
+to get interfaces quickly and easily, while keeping them
+language-agnostic and more user- and shell scripting-friendly than
+JSON and similar formats.
 
 Given a type, it derives instances to print and parse it as
 command-line arguments or DSVs, as well as to compose usage
diff --git a/coalpit.cabal b/coalpit.cabal
--- a/coalpit.cabal
+++ b/coalpit.cabal
@@ -1,12 +1,12 @@
 name:                coalpit
-version:             0.1.1.0
+version:             0.1.1.1
 synopsis:            Command-line options and DSV parsing and printing
 description:         This library generates parsers and printers for
                      given data types, in the form of command-line
                      arguments or DSVs – so that they can be used to
-                     quickly get program interfaces via a shared
-                     library, while being suitable for scripting and
-                     as user interfaces.
+                     quickly get CLIs via a shared library, while
+                     being suitable for scripting and as user
+                     interfaces.
 license:             BSD3
 license-file:        LICENSE
 author:              defanor
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE DeriveGeneric, DeriveAnyClass, RankNTypes #-}
 
 import GHC.Generics
-import Generic.Random
+import Generic.Random (genericArbitraryU)
 import Test.Tasty
 import Test.Tasty.QuickCheck as QC
 import Data.Proxy
