diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,10 @@
 # Change log
 
+## 0.1.1
+
+* #58: Update documentation.
+* #57: Allow newer QuickCheck.
+
 ## 0.1.0
 
 * Start complying with PVP.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
 of the library:
 
 ```haskell
-data Graph a = Empty | Vertex a | Overlay (Graph a) (Graph a) | Connect (Graph a) (Graph a)  
+data Graph a = Empty | Vertex a | Overlay (Graph a) (Graph a) | Connect (Graph a) (Graph a)
 ```
 
 We can give the following semantics to the constructors in terms of the pair **(V, E)** of graph *vertices* and *edges*:
@@ -47,6 +47,9 @@
 graph can be represented by an expression. Other types of graphs (e.g. undirected) can be obtained by modifying the
 above set of laws. Algebraic graphs provide a convenient, safe and powerful interface for working with graphs in Haskell,
 and allow the application of equational reasoning for proving the correctness of graph algorithms.
+
+To represent *non-empty graphs*, we can drop the `Empty` constructor -- see module
+[Algebra.Graph.NonEmpty](http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-NonEmpty.html).
 
 ## How fast is the library?
 
diff --git a/algebraic-graphs.cabal b/algebraic-graphs.cabal
--- a/algebraic-graphs.cabal
+++ b/algebraic-graphs.cabal
@@ -1,5 +1,5 @@
 name:          algebraic-graphs
-version:       0.1.0
+version:       0.1.1
 synopsis:      A library for algebraic graph construction and transformation
 license:       MIT
 license-file:  LICENSE
@@ -26,7 +26,9 @@
     defines the core data type
     <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph.html#t:Graph Graph>,
     which is a deep embedding of four graph construction primitives /empty/,
-    /vertex/, /overlay/ and /connect/. More conventional graph representations can be found in
+    /vertex/, /overlay/ and /connect/. To represent non-empty graphs, see
+    <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-NonEmpty.html Algebra.Graph.NonEmpty>.
+    More conventional graph representations can be found in
     <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-AdjacencyMap.html Algebra.Graph.AdjacencyMap>
     and
     <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Relation.html Algebra.Graph.Relation>.
@@ -122,7 +124,7 @@
                         base-orphans >= 0.5.4   && < 0.8,
                         containers   >= 0.5.5.1 && < 0.8,
                         extra        >= 1.5,
-                        QuickCheck   >= 2.9     && < 2.11
+                        QuickCheck   >= 2.9     && < 2.12
     if !impl(ghc >= 8.0)
         build-depends:  semigroups   >= 0.18.3  && < 0.18.4
     default-language:   Haskell2010
diff --git a/src/Algebra/Graph.hs b/src/Algebra/Graph.hs
--- a/src/Algebra/Graph.hs
+++ b/src/Algebra/Graph.hs
@@ -12,9 +12,10 @@
 -- motivation behind the library, the underlying theory, and implementation details.
 --
 -- This module defines the core data type 'Graph' and associated algorithms.
--- 'Graph' is an instance of type classes defined in modules "Algebra.Graph.Class"
--- and "Algebra.Graph.HigherKinded.Class", which can be used for polymorphic
--- graph construction and manipulation.
+-- For graphs that are known to be /non-empty/ at compile time, see
+-- "Algebra.Graph.NonEmpty". 'Graph' is an instance of type classes defined in
+-- modules "Algebra.Graph.Class" and "Algebra.Graph.HigherKinded.Class", which
+-- can be used for polymorphic graph construction and manipulation.
 --
 -----------------------------------------------------------------------------
 module Algebra.Graph (
