úÎ+÷)r%      !"#$None<=?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 datashrink 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 genValid only generates invalid data 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 b isValidFor 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  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 generator0The 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  genUnchecked.$  !"%#$.&'()*+,-./0  !"#  !""  !"%#$1      !"#$%&'()*+)*,-./-.0-.1-.2-.3-.4-.5-.6-.780genvalidity-hspec-0.2.0.1-IKQqN1aFYamJsQKTOmMqyI Test.Validitybase Data.ProxyProxyCanFail hasFailedresultIfSucceeded arbitrarySpecarbitraryGeneratesOnlyValidshrinkProducesOnlyValidsgenValiditySpecgenValidityValidGeneratesValid"genValidityInvalidGeneratesInvalidrelativeValiditySpecrelativeValidityImpliesValidArelativeValidityImpliesValidBgenRelativeValiditySpec&genRelativeValidityValidGeneratesValid*genRelativeValidityInvalidGeneratesInvalidproducesValidsOnGenalwaysProducesValidproducesValidsOnValidsproducesValidsOnGens2alwaysProducesValid2producesValidsOnValids2 succeedsOnGensucceedsOnValidInput failsOnGenfailsOnInvalidInputvalidIfSucceedsOnGenvalidIfSucceedssucceedsOnGens2succeedsOnValidInput2 failsOnGens2failsOnInvalidInput2validIfSucceedsOnGens2validIfSucceeds2$fCanFailEither$fCanFailMaybenameOf'validity-0.3.0.0-8Eie4c5HmSgDHK6PwhUzAT Data.ValidityValidityisValid*genvalidity-0.2.0.1-2i0N7qZLjxA6A4JT0S1hxsData.GenValidity genListOf arbPartition genSplit3genSplitupTo GenValidity genUncheckedgenValid genInvalid