Just kidding, when the semigroups package promises "a backwards-
compatible API," what they mean is that they deleted the entire source
tree in the minor release 0.18.2 and nothing works at all. So instead,
we need to do a version check on GHC within the cabal file, and
conditionally depend on a version of semigroups before 0.18.2.