úÎ9–4`V      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUNone<=T?A class of types that are the result of functions that can fail'You should not use this class yourself.A Spec that specifies that  arbitrary# only generates data that satisfy isValid and that shrink" only produces data that satisfy isValid.Example usage: %arbitrarySpec (Proxy :: Proxy MyData) arbitrary only generates valid datashrink0, applied to valid data only produces valid dataA Spec that specifies that genValid% only generates valid data and that  genInvalid only generates invalid data.jIn general it is a good idea to add this spec to your test suite if you write a custom implementation of genValid or  genInvalid.Example usage: 'genValiditySpec (Proxy :: Proxy MyData) genValid only generates valid data 4The given generator generates only valid data points genValid only generates invalid data 6The given generator generates only invalid data points A Spec that specifies that  isValidFor implies isValidIIn general it is a good idea to add this spec to your test suite if the a in RelativeValidity a b also has a Validity instance.Example usage: TrelativeValiditySpec (Proxy :: Proxy MyDataFor) (Proxy :: Proxy MyOtherData)isValidFor a b implies  isValid a for all bisValidFor a b implies  isValid b for all aA Spec that specifies that  genValidFor and  genInvalidFor work as intended.jIn general it is a good idea to add this spec to your test suite if you write a custom implementation of  genValidFor or  genInvalidFor.Example usage: CrelativeGenValiditySpec (proxy :: MyDataFor) (proxy :: MyOtherData) genValidFor b$ only generates values that satisfy  isValidFor bgenInvalidFor b+ only generates values that do not satisfy  isValidFor bdThe function produces valid output when the input is generated as specified by the given generator.CThe function produces valid output when the input is generated by  arbitraryCThe function produces valid output when the input is generated by  genUncheckedCThe function produces valid output when the input is generated by genValidFThe function succeeds if the input is generated by the given generator3The function succeeds if the input is generated by genValidCThe function fails if the input is generated by the given generator 0The function fails if the input is generated by  genInvalid!,The function produces output that satisfies isValid@ if it is given input that is generated by the given generator.",The function produces output that satisfies isValid, if it is given input that is generated by  arbitrary.#,The function produces output that satisfies isValid, if it is given input that is generated by  genUnchecked.V  !"#$%&'()*+,-./0123456789:;V<=>?@ABCDEFGHIJKLMNOPQRSWTUbXYZ[\]^_`abcde  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST  !"#$%&'()*+,-./0123456789:;V<=>?@ABCDEFGHIJKLMNOPQRSWTUf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\][\^[\_[\`[\abcdbcebcfbcgbchbcibcjbckbclm0genvalidity-hspec-0.2.0.3-B1wgrTl1MXfALom288T2gg Test.Validitybase Data.ProxyProxyCanFail hasFailedresultIfSucceeded arbitrarySpecarbitraryGeneratesOnlyValidshrinkProducesOnlyValidsgenValiditySpecgenValidityValidGeneratesValidgenGeneratesValid"genValidityInvalidGeneratesInvalidgenGeneratesInvalidrelativeValiditySpecrelativeValidityImpliesValidArelativeValidityImpliesValidBgenRelativeValiditySpec&genRelativeValidityValidGeneratesValid*genRelativeValidityInvalidGeneratesInvalidproducesValidsOnGenproducesValidsOnArbitraryalwaysProducesValidproducesValidsOnValidsproducesValidsOnGens2alwaysProducesValid2producesValidsOnValids2producesValidsOnGens3alwaysProducesValid3producesValidsOnValids3 succeedsOnGensucceedsOnValidInput failsOnGenfailsOnInvalidInputvalidIfSucceedsOnGenvalidIfSucceedsOnArbitraryvalidIfSucceedssucceedsOnGens2succeedsOnValidInput2 failsOnGens2failsOnInvalidInput2validIfSucceedsOnGens2validIfSucceeds2equivalentOnGenequivalentOnValid equivalentequivalentOnGens2equivalentOnValids2 equivalent2inverseFunctionsOnGeninverseFunctionsOnValidinverseFunctions$inverseFunctionsIfFirstSucceedsOnGen&inverseFunctionsIfFirstSucceedsOnValidinverseFunctionsIfFirstSucceeds%inverseFunctionsIfSecondSucceedsOnGen'inverseFunctionsIfSecondSucceedsOnValid inverseFunctionsIfSecondSucceedsinverseFunctionsIfSucceedOnGen inverseFunctionsIfSucceedOnValidinverseFunctionsIfSucceedreflexivityOnGenreflexivityOnValidreflexivityOnUncheckedtransitiveOnGenstransitiveOnValidtransitiveOnUncheckedantisymmetryOnGensWithEqualityantisymmetryOnGensEqantisymmetryOnValidleftIdentityOnGenleftIdentityOnValid leftIdentityrightIdentityOnGenrightIdentityOnValid rightIdentity identityOnGenidentityOnValididentityassociativeOnGensassociativeOnValids associativecommutativeOnGenscommutativeOnValids commutative$fCanFailEither$fCanFailMaybe===>nameOf'validity-0.3.0.4-5fBtdKCGGOaCeyjylJUBnP Data.ValidityValidityisValid isInvalidconstructValidconstructValidUnsafe*genvalidity-0.2.0.4-1gnypSWInWMF8axW5W86TgData.GenValidity genListOf arbPartition genSplit3genSplitupTo GenValidity genUncheckedgenValid genInvalid