Îõ³h$zu.      !"#$%&'()*+,-None  ÉÎ×I validationt Map with . instance which / its valuesThis can be used as the eÝ in `ValidationT e m a` to provide different sets of errors and warnings for different keys.:{ mconcatÅ [ MonoidMap $ M.fromList [(1, "foo"), (2, "hello, "), (3, "oh no")]5 , MonoidMap $ M.fromList [(1, "bar"), (2, "world")] ]:}ÂMonoidMap (fromList [(1,"foobar"),(2,"hello, world"),(3,"oh no")]) validationt Collects all thrown warnings in 0 and errors in 1 into a single value using .. validationtConvenient for %9 as first argument. Will prevent generation of map with 2 values. validationtSets given value to 2. validationt'Returns the strings, concatanated with ", " if the list is not empty.$Returns Nothing if the list is emptytextErrors ["foo", "bar"]Just "foo, bar"textErrors ["foo"] Just "foo" textErrors []Nothing validationtReturns 29 instead of error if no warnings have occurred. Returns 3à as the second element of tuple if computation was interrupted by !.÷Returns all concatenated errors and warnings and the result if no errors have occurred (warnings could have occurred).:{ runValidationT $ do vWarning ["warning1"] vError ["error"] vWarning ["warning2"] return 8:}(["error","warning1"],Nothing):{ runValidationT $ do vWarning ["warning1"] vWarning ["warning2"] return 8:} (["warning1","warning2"],Just 8) validationtLike < but doesn't return the result if any warning has occurred.:{ runValidationTEither $ do vWarning ["warning1"] vError ["error"] vWarning ["warning2"] return 8:}Left ["error","warning1"]:{ runValidationTEither $ do vWarning ["warning1"] vWarning ["warning2"] return 8:}Left ["warning1","warning2"]  validationtLike Ç, but takes an error handler instead of returning errors and warnings.:{) handleValidationT (\_ -> return 11) $ do vWarning ["warning1"] vError ["error"] vWarning ["warning2"] return 8:}11:{) handleValidationT (\_ -> return 11) $ do vWarning ["warning1"] vWarning ["warning2"] return 8:}11! validationt4Stops further execution and appends the given error." validationt>Does not stop further execution and appends the given warning.# validationtLike !Ô but allows you to use a setter to insert an error somewhere deeper into an empty (2Ó) "e" from "ValidationT e m x", which is then combined with all gathered warnings.$ validationtLike "Ô but allows you to use a setter to insert an error somewhere deeper into an empty (2Ó) "e" from "ValidationT e m x", which is then combined with all gathered warnings.% validationtÄAllows you apply a transformation to the "e" in "ValidationT e m x".:{ÂrunValidationT . vZoom (Data.Map.singleton "password errors") $ do vWarning ["warning1"] vError ["error"] vWarning ["warning2"] return 8:}=(fromList [("password errors",["error","warning1"])],Nothing):{à runValidationT . vZoom (Data.Map.singleton "password errors") $ do vWarning ["warning1"] vWarning ["warning2"] return 8:}?(fromList [("password errors",["warning1","warning2"])],Just 8)& validationtLike %* but takes a setter instead of a function.' validationt0Turn any warnings the have occurred into errors. !"#$%&' !"#$%&'4      !"#$%&'()*+,-./0./1234256./7.89:(validationt-0.3.0-BXoBM810R7L9iPkxqstwfBControl.Monad.Validation MonoidMap ValidationT unValidationT$fMonadTransValidationT $fEqMonoidMap$fOrdMonoidMap$fShowMonoidMap$fArbitraryMonoidMap$fFoldableMonoidMap$fFunctorValidationT$fApplicativeValidationT$fMonadValidationT$fMonadThrowValidationT$fMonadCatchValidationT$fMonadBasebValidationT$fAlternativeValidationT$fMonadFixValidationT$fMonadFailValidationT$fContravariantValidationT$fMonadIOValidationT$fMonadPlusValidationT$fMonadBaseControlbValidationT$fMonadMaskValidationT _MonoidMap mmSingleton setMemptyneConcat textErrorsrunValidationTrunValidationTEitherhandleValidationTvErrorvWarningvErrorL vWarningLvZoomvZoomLvPromote$fFromJSONMonoidMap$fToJSONMonoidMap$fMonoidMonoidMap$fSemigroupMonoidMap $fAtMonoidMap$fIxedMonoidMapbaseGHC.BaseMonoidmappendtransformers-0.5.6.2 Control.Monad.Trans.State.StrictStateTControl.Monad.Trans.ExceptExceptTmempty GHC.MaybeNothing