!    NoneMT aeson-commitA   that has _two_ failure modes; recoverable and non-recoverable. The default, recoverable failure is the equivalent to aeson's default   behavior. The non-recoverable failure mode is used to commit to a branch; to commit means that every subsequent failure is non-recoverable.%You turn a commit back into a normal   using s. As an additional benefit, if no commit succeeded the parser error message will contain all encountered errors.<The implementation works by capturing failure in either the   or in the underlying  . The derived 1 instance will only recover from failures in the  <. This means that as soon as we successfully construct a  value, the  considers the H a success, even though the underlying parser might have failed. The < represents the guarantee that we only collect error values. aeson-commit9Construct a commit. If the first parser succeeds, the F is a success, and any failures in the inner action will be preserved. aeson-commitRecommended way of turning a  back into a regular  . aeson-commitConvenience wrapper around  for when the commit is checking whether a key is present in some object. If it is, it will commit and append the key to the JSONPath of the inner context through ', which will give nicer error messages. aeson-commitTry to parse with a  1 and commit if it parses successfully. Unlike &, the parser's failure is recoverable. tryParser empty <|> p = p aeson-commitTurn a   into a  . Unlike P, the parser's failure is _not_ recoverable, i.e. the parse is always committed. liftParser empty <|> p = empty     'aeson-commit-1.1-ImDa4VzKuwY6GWKXiWWa5gData.Aeson.CommitCommitunCommitcommit runCommit.:> tryParser liftParser $fMonadCommit$fFunctorCommit$fApplicativeCommit$fAlternativeCommit$aeson-1.5.4.1-3APs9y3MNqVGctYGeZatTtData.Aeson.Types.InternalParsertransformers-0.5.5.0Control.Monad.Trans.ExceptExceptTbaseGHC.Base Alternative Data.EitherRight Data.VoidVoid