diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+# 0.0.0.2
+
+Add a `Lower` instance for `Data.Sequence.Seq`.
+
 # 0.0.0.1
 
 Add `Lower` instances for some `Data.Monoid` types.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,3 +8,8 @@
 Semilattices are idempotent commutative semigroups, and come in two flavours: `Join` and `Meet`. This presentation of them doesn’t inherit from `Semigroup` however, since `Semigroup`s already exist and the relationships between the various classes here warrant their own operators.
 
 Join semilattices can be combined using the `\/` operator (pronounced “lub,” for “least upper bound”). Meet semilattices can be combined with the `/\` operator (pronounced “glb,” for “greatest lower bound”). They have opposite relationships to `Lower` and `Upper` bounds (which are optional; in general, there are more lower bounds than upper ones).
+
+
+## Related work
+
+- [`lattices`](http://hackage.haskell.org/package/lattices) also offers join & meet semilattices, & their respective bounds. Relative to `lattices`, `semilattices` primarily offers a different class hierarchy, e.g. `Lower` & `Upper` do not have `Join` & `Meet` as superclasses. Relative to `semilattices`, `lattices` offers classes for lattices (both bounded and un-), partial orderings, a variety of operations for instances.
diff --git a/semilattices.cabal b/semilattices.cabal
--- a/semilattices.cabal
+++ b/semilattices.cabal
@@ -1,5 +1,5 @@
 name:                semilattices
-version:             0.0.0.1
+version:             0.0.0.2
 synopsis:            Semilattices
 description:         Join- and meet-semilattices, with optional upper and lower bounds, and a variety of instances for each.
 homepage:            https://github.com/robrix/semilattices
diff --git a/src/Data/Semilattice/Join.hs b/src/Data/Semilattice/Join.hs
--- a/src/Data/Semilattice/Join.hs
+++ b/src/Data/Semilattice/Join.hs
@@ -317,6 +317,7 @@
 newtype LessThan a = LessThan { getLessThan :: a }
   deriving (Enum, Eq, Foldable, Functor, Join, Num, Read, Show, Traversable)
 
+-- | NB: This is not in general a total ordering.
 instance (Eq a, Join a) => Ord (LessThan a) where
   compare a b
     | a == b      = EQ
diff --git a/src/Data/Semilattice/Lower.hs b/src/Data/Semilattice/Lower.hs
--- a/src/Data/Semilattice/Lower.hs
+++ b/src/Data/Semilattice/Lower.hs
@@ -15,6 +15,7 @@
 import Data.Monoid as Monoid
 import Data.Proxy
 import Data.Semigroup as Semigroup
+import Data.Sequence as Seq
 import Data.Set as Set
 import Data.Type.Coercion
 import Data.Type.Equality
@@ -215,6 +216,7 @@
 instance Lower (IntMap a) where lowerBound = IntMap.empty
 instance Lower IntSet where lowerBound = IntSet.empty
 instance Lower (Map k a) where lowerBound = Map.empty
+instance Lower (Seq a) where lowerBound = Seq.empty
 instance Lower (Set a) where lowerBound = Set.empty
 
 -- unordered-containers
diff --git a/src/Data/Semilattice/Meet.hs b/src/Data/Semilattice/Meet.hs
--- a/src/Data/Semilattice/Meet.hs
+++ b/src/Data/Semilattice/Meet.hs
@@ -317,6 +317,7 @@
 newtype GreaterThan a = GreaterThan { getGreaterThan :: a }
   deriving (Enum, Eq, Foldable, Functor, Meet, Num, Read, Show, Traversable)
 
+-- | NB: This is not in general a total ordering.
 instance (Eq a, Meet a) => Ord (GreaterThan a) where
   compare a b
     | a == b      = EQ
diff --git a/src/Data/Semilattice/Upper.hs b/src/Data/Semilattice/Upper.hs
--- a/src/Data/Semilattice/Upper.hs
+++ b/src/Data/Semilattice/Upper.hs
@@ -31,7 +31,7 @@
 --   If @s@ is a 'Meet' semilattice, 'upperBound' must be the identity of '/\':
 --
 -- @
--- 'upperBound' '\/' a = a
+-- 'upperBound' '/\' a = a
 -- @
 --
 --   If @s@ is a 'Join' semilattice, 'upperBound' must be the absorbing element of '\/':
