diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for multi-except
 
+## 0.1.1.0 -- 2021-05-11
+
+* Added Alt instance from semigroupoids
+
 ## 0.1.0.0 -- 2021-05-11
 
 * First version. Released on an unsuspecting world.
diff --git a/Control/Applicative/MultiExcept.hs b/Control/Applicative/MultiExcept.hs
--- a/Control/Applicative/MultiExcept.hs
+++ b/Control/Applicative/MultiExcept.hs
@@ -14,9 +14,10 @@
   , succeed
   ) where
 
-import Data.List.NonEmpty (NonEmpty)
+import Data.Functor.Alt
 import Data.DList.DNonEmpty (DNonEmpty)
 import qualified Data.DList.DNonEmpty as DNE
+import Data.List.NonEmpty (NonEmpty)
 
 -- | A MultiExcept is a success value, or one or more errors
 data MultiExcept err a
@@ -31,7 +32,7 @@
 
 -- | Throw a single error
 throwError :: err -> MultiExcept err a
-throwError = Errors . DNE.singleton
+throwError = Errors . pure
 
 -- | Embeds a value into a MultiExcept context
 succeed :: a -> MultiExcept err a
@@ -44,7 +45,12 @@
 instance Applicative (MultiExcept err) where
   pure = succeed
 
-  Errors l <*> Errors l' = Errors $ DNE.append l l'
+  Errors l <*> Errors l' = Errors $ l <> l'
   Success f <*> Success a = Success $ f a
   Errors l <*> _ = Errors l
   _ <*> Errors l = Errors l
+
+instance Alt (MultiExcept err) where
+  Success a <!> _ = Success a
+  _ <!> Success a = Success a
+  Errors l <!> Errors r = Errors (l <> r)
diff --git a/multi-except.cabal b/multi-except.cabal
--- a/multi-except.cabal
+++ b/multi-except.cabal
@@ -1,7 +1,7 @@
 cabal-version:       >=1.10
 
 name:                multi-except
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            Multiple Exceptions
 description:         Exception type that supports reporting multiple exceptions
 license:             MIT
@@ -11,9 +11,11 @@
 category:            Exceptions
 build-type:          Simple
 extra-source-files:  CHANGELOG.md
+homepage:            https://github.com/414owen/multi-except
 
 library
-  exposed-modules:       Control.Applicative.MultiExcept
+  exposed-modules:     Control.Applicative.MultiExcept
   build-depends:       base >=4.0 && <5
                      , dlist
+                     , semigroupoids
   default-language:    Haskell2010
