diff --git a/Data/Semigroup.hs b/Data/Semigroup.hs
--- a/Data/Semigroup.hs
+++ b/Data/Semigroup.hs
@@ -8,22 +8,22 @@
 -- Stability   :  provisional
 -- Portability :  portable
 --
--- In mathematics, a semigroup is an algebraic structure consisting of a 
--- set together with an associative binary operation. A semigroup 
--- generalizes a monoid in that there might not exist an identity 
--- element. It also (originally) generalized a group (a monoid with all 
--- inverses) to a type where every element did not have to have an inverse, 
+-- In mathematics, a semigroup is an algebraic structure consisting of a
+-- set together with an associative binary operation. A semigroup
+-- generalizes a monoid in that there might not exist an identity
+-- element. It also (originally) generalized a group (a monoid with all
+-- inverses) to a type where every element did not have to have an inverse,
 -- thus the name semigroup.
 --
--- The use of (<>) in this module conflicts with an operator with the same
--- name that is being exported by Data.Monoid. However, this package 
+-- The use of @(\<\>)@ in this module conflicts with an operator with the same
+-- name that is being exported by Data.Monoid. However, this package
 -- re-exports (most of) the contents of Data.Monoid, so to use semigroups
 -- and monoids in the same package just
 --
 -- > import Data.Semigroup
 --
 ----------------------------------------------------------------------------
-module Data.Semigroup ( 
+module Data.Semigroup (
     Semigroup(..)
   -- * Semigroups
   , Min(..)
@@ -31,7 +31,7 @@
   , First(..)
   , Last(..)
   , WrappedMonoid(..)
-  -- * Re-exported monoids from Data.Monoid 
+  -- * Re-exported monoids from Data.Monoid
   , Monoid(..)
   , Dual(..)
   , Endo(..)
@@ -68,18 +68,18 @@
 import Data.Data
 #endif
 
-infixr 6 <> 
+infixr 6 <>
 
 class Semigroup a where
-  -- | An associative operation. 
-  -- 
+  -- | An associative operation.
+  --
   -- > (a <> b) <> c = a <> (b <> c)
   (<>) :: a -> a -> a
 
   -- | Reduce a non-empty list with @\<\>@
   --
   -- The default definition should be sufficient, but this can be overridden for efficiency.
-  -- 
+  --
   sconcat :: NonEmpty a -> a
   sconcat (a :| as) = go a as where
     go b (c:cs) = b <> go c cs
@@ -88,10 +88,10 @@
   -- | Repeat a value (n + 1) times.
   --
   -- > times1p n a = a <> a <> ... <> a  -- using <> n times
-  -- 
+  --
   -- The default definition uses peasant multiplication, exploiting associativity to only
   -- require /O(log n)/ uses of @\<\>@.
-  
+
   times1p :: Whole n => n -> a -> a
   times1p y0 x0 = f x0 (1 Prelude.+ y0)
     where
@@ -134,7 +134,7 @@
 instance (Semigroup a, Semigroup b) => Semigroup (a, b) where
   (a,b) <> (a',b') = (a<>a',b<>b')
   times1p n (a,b) = (times1p n a, times1p n b)
-  
+
 instance (Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c) where
   (a,b,c) <> (a',b',c') = (a<>a',b<>b',c<>c')
   times1p n (a,b,c) = (times1p n a, times1p n b, times1p n c)
@@ -152,15 +152,15 @@
   times1p n (Dual a) = Dual (times1p n a)
 
 instance Semigroup (Endo a) where
-  Endo f <> Endo g = Endo (f . g) 
+  Endo f <> Endo g = Endo (f . g)
 
 instance Semigroup All where
   All a <> All b = All (a && b)
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Semigroup Any where
   Any a <> Any b = Any (a || b)
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Num a => Semigroup (Sum a) where
   Sum a <> Sum b = Sum (a + b)
@@ -171,17 +171,17 @@
 instance Semigroup (Monoid.First a) where
   Monoid.First Nothing <> b = b
   a                    <> _ = a
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Semigroup (Monoid.Last a) where
   a <> Monoid.Last Nothing = a
   _ <> b                   = b
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Semigroup (NonEmpty a) where
   (a :| as) <> ~(b :| bs) = a :| (as ++ b : bs)
 
-newtype Min a = Min { getMin :: a } deriving 
+newtype Min a = Min { getMin :: a } deriving
   ( Eq, Ord, Bounded, Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
   , Data, Typeable
@@ -190,13 +190,13 @@
 
 instance Ord a => Semigroup (Min a) where
   Min a <> Min b = Min (a `min` b)
-  times1p _ a = a 
+  times1p _ a = a
 
 instance (Ord a, Bounded a) => Monoid (Min a) where
   mempty = maxBound
-  mappend = (<>) 
+  mappend = (<>)
 
-newtype Max a = Max { getMax :: a } deriving 
+newtype Max a = Max { getMax :: a } deriving
   ( Eq, Ord, Bounded, Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
   , Data, Typeable
@@ -205,14 +205,14 @@
 
 instance Ord a => Semigroup (Max a) where
   Max a <> Max b = Max (a `max` b)
-  times1p _ a = a 
+  times1p _ a = a
 
 instance (Ord a, Bounded a) => Monoid (Max a) where
   mempty = minBound
-  mappend = (<>) 
+  mappend = (<>)
 
 -- | Use @'Option' ('First' a)@ -- to get the behavior of 'Data.Monoid.First'
-newtype First a = First { getFirst :: a } deriving 
+newtype First a = First { getFirst :: a } deriving
   ( Eq, Ord, Bounded, Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
   , Data
@@ -222,10 +222,10 @@
 
 instance Semigroup (First a) where
   a <> _ = a
-  times1p _ a = a 
+  times1p _ a = a
 
 -- | Use @'Option' ('Last' a)@ -- to get the behavior of 'Data.Monoid.Last'
-newtype Last a = Last { getLast :: a } deriving 
+newtype Last a = Last { getLast :: a } deriving
   ( Eq, Ord, Bounded, Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
   , Data, Typeable
@@ -234,14 +234,14 @@
 
 instance Semigroup (Last a) where
   _ <> b = b
-  times1p _ a = a 
+  times1p _ a = a
 
 -- (==)/XNOR on Bool forms a 'Semigroup', but has no good name
 
 
 -- | Provide a Semigroup for an arbitrary Monoid.
-newtype WrappedMonoid m = WrapMonoid 
-  { unwrapMonoid :: m } deriving 
+newtype WrappedMonoid m = WrapMonoid
+  { unwrapMonoid :: m } deriving
   ( Eq, Ord, Bounded, Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
   , Data, Typeable
@@ -258,8 +258,8 @@
 
 -- | Option is effectively 'Maybe' with a better instance of 'Monoid', built off of an underlying 'Semigroup'
 -- instead of an underlying 'Monoid'. Ideally, this type would not exist at all and we would just fix the 'Monoid' intance of 'Maybe'
-newtype Option a = Option 
-  { getOption :: Maybe a } deriving 
+newtype Option a = Option
+  { getOption :: Maybe a } deriving
   ( Eq, Ord, Show, Read
 #ifdef LANGUAGE_DeriveDataTypeable
   , Data, Typeable
@@ -301,12 +301,12 @@
 instance Traversable Option where
   traverse f (Option (Just a)) = Option . Just <$> f a
   traverse _ (Option Nothing)  = pure (Option Nothing)
-  
+
 option :: b -> (a -> b) -> Option a -> b
 option n j (Option m) = maybe n j m
 
 instance Semigroup a => Semigroup (Option a) where
-  Option a <> Option b = Option (a <> b) 
+  Option a <> Option b = Option (a <> b)
 
 instance Semigroup a => Monoid (Option a) where
   mempty = empty
@@ -321,16 +321,16 @@
 
 instance Semigroup IntSet where
   (<>) = mappend
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Ord a => Semigroup (Set a) where
   (<>) = mappend
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Semigroup (IntMap v) where
   (<>) = mappend
-  times1p _ a = a 
+  times1p _ a = a
 
 instance Ord k => Semigroup (Map k v) where
   (<>) = mappend
-  times1p _ a = a 
+  times1p _ a = a
diff --git a/semigroups.cabal b/semigroups.cabal
--- a/semigroups.cabal
+++ b/semigroups.cabal
@@ -1,6 +1,6 @@
 name:          semigroups
 category:      Algebra, Data, Data Structures, Math
-version:       0.8
+version:       0.8.0.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -10,11 +10,11 @@
 homepage:      http://github.com/ekmett/semigroups/
 copyright:     Copyright (C) 2011 Edward A. Kmett
 synopsis:      Haskell 98 semigroups
-description:   
+description:
     Haskell 98 semigroups
     .
     In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation. A semigroup generalizes a monoid in that there might not exist an identity element. It also (originally) generalized a group (a monoid with all inverses) to a type where every element did not have to have an inverse, thus the name semigroup.
-build-type:    Simple  
+build-type:    Simple
 
 source-repository head
   type: git
@@ -26,8 +26,8 @@
   manual: False
 
 library
-  build-depends: 
-    base >= 4 && < 5, 
+  build-depends:
+    base >= 4 && < 5,
     containers >= 0.3 && < 0.5
 
   ghc-options: -Wall
