diff --git a/applicative-fail.cabal b/applicative-fail.cabal
--- a/applicative-fail.cabal
+++ b/applicative-fail.cabal
@@ -1,5 +1,5 @@
 name:                applicative-fail
-version:             0.0.2
+version:             0.0.3
 synopsis:            Applicative functor which collects all your fails
 
 description: Applicative functor to perform parse-like actions and
diff --git a/src/Control/Applicative/Fail.hs b/src/Control/Applicative/Fail.hs
--- a/src/Control/Applicative/Fail.hs
+++ b/src/Control/Applicative/Fail.hs
@@ -85,8 +85,9 @@
 fsucc a = Success a
 
 failEither :: Fail e a -> Either e a
-failEither (Success a) = Right a
-failEither (Fail e _)  = Left e
+failEither (Success a)       = Right a
+failEither (Fail _ (Just a)) = Right a
+failEither (Fail e Nothing)  = Left e
 
 getFail :: Fail e a -> Maybe e
 getFail (Fail e _) = Just e
