úÎ-¹     None234A type similar to  but the - instance accumulates error values. Unlike , there is no  instance, because there is no  such that  equals .For the . instance to work, your error type must be a , such as a list or a .Examplesimport Text.Read:{* let readInt x = case readMaybe x of& Nothing -> AccFailure [x]# Just a -> AccSuccess a& where _types = a :: Int :}#(+) <$> readInt "3" <*> readInt "4" AccSuccess 7$(+) <$> readInt "x3" <*> readInt "4"AccFailure ["x3"]%(+) <$> readInt "x3" <*> readInt "x4"AccFailure ["x3","x4"]5(,,) <$> readInt "3" <*> readInt "4" <*> readInt "x5"AccFailure ["x5"]&sequenceA [AccSuccess 3, AccSuccess 4]AccSuccess [3,4]JsequenceA [AccSuccess 3, AccSuccess 4, AccFailure ['c'], AccFailure ['a']]AccFailure "ca" Case analysis for the  type. Like .             !"#$%%accuerr-0.2.0.0-KkYhceBP1Q3bHYTOnZFzzAccuerr Control.MonadapData.List.NonEmptyNonEmpty AccFailure AccSuccess $fEqAccuerr $fOrdAccuerr $fShowAccuerr$fFunctorAccuerr$fFoldableAccuerr$fTraversableAccuerr _AccFailure _AccSuccessaccuerraccuerrToEithereitherToAccuerrisoAccuerrEitherisoEitherAccuerr$fSwappedAccuerr$fBitraversableAccuerr$fBifoldableAccuerr$fBifunctorAccuerr$fApplicativeAccuerrbase Data.EitherEitherGHC.Base ApplicativeMonad>>=<*>Data.Semigroup Semigroupeither