úÎoĻhtk      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijNone+-6;<=>?FGKSTV]heš= a is equivalent to  k a for any type a.A monad transformer that adds s to other monads.The l and E functions yield computations that produce the given value, while >>=8 sequences two subcomputations, exiting on the first .)An exception encoding the way in which a ! failed.A  for failures involving the   predicate.A  for failures involving the  predicate.A  for failures involving the  predicate.A - for failures involving all other predicates.mThe n of the   p type.oA p" encoding which branch(es) of the  failed: if the  came from the l! predicate, then this will be q, if it came from the r predicate, this will be r, and if it came from both l and r, this will be p.sThe  for the l failure.tThe  for the l failure.uA custom message to display.ZA typeclass containing "safe" conversions between refined predicates where the target is weakerp than the source: that is, all values that satisfy the first predicate will be guarunteed to satisy the second.hTake care: writing an instance declaration for your custom predicates is the same as an assertion that  is safe to use:  instance  Pred1 Pred2 dFor most of the instances, explicit type annotations for the result value's type might be required. A ! ensuring that the v is non-empty. A !. ensuring that the value is not equal to zero. .An inclusive range of values from zero to one. A !: ensuring that the value is greater than or equal to zero. A !+ ensuring that the value is less than zero.A !7 ensuring that the value is less than or equal to zero.A !. ensuring that the value is greater than zero.A !L ensuring that the value is not equal to the specified type-level number n.A !H ensuring that the value is equal to the specified type-level number n.A !6 ensuring that the value is within an inclusive range.A !U ensuring that the value is less than or equal to the specified type-level number.A !X ensuring that the value is greater than or equal to the specified type-level number.A !L ensuring that the value is greater than the specified type-level number.A !I ensuring that the value is less than the specified type-level number.A ! ensuring that the w3 contains elements in a strictly descending order.A ! ensuring that the w2 contains elements in a strictly ascending order.A ! ensuring that the vA has a length which is equal to the specified type-level number.A ! ensuring that the vE has a length which is greater than the specified type-level number.A ! ensuring that the vB has a length which is less than the specified type-level number."The disjunction of two predicates."The disjunction of two predicates."The conjunction of two predicates."The conjunction of two predicates. The negation of a predicate.!PA typeclass which defines a runtime interpretation of a type-level predicate p for type x."Check the value x according to the predicate p=, producing an error string if the value does not satisfy.#/A refinement type, which wraps a value of type x7, ensuring that it satisfies a type-level predicate p.IThe only ways that this library provides to construct a value of type # are with the  'refine-'˜ family of functions, because the use of the newtype constructor gets around the checking of the predicate. This restriction on the user makes * safe. If you would really like to construct a #. value without checking the predicate, use .$A smart constructor of a #- value. Checks the input value at runtime.% Constructs a # value at run-time, calling 0 if the value does not satisfy the predicate.& Constructs a # value at run-time, calling x0 if the value does not satisfy the predicate.' Constructs a # value at run-time, calling  0 if the value does not satisfy the predicate.( Constructs a # value at run-time, calling y0 if the value does not satisfy the predicate.$WARNING: this function is not total!) Constructs a # value at compile-time using -XTemplateHaskell. For example:'$$(refineTH 23) :: Refined Positive Int Refined 23&Here's an example of an invalid value:&$$(refineTH 0) :: Refined Positive Int<interactive>:6:4: Value is not greater than 01 In the Template Haskell splice $$(refineTH 0)= In the expression: $$(refineTH 0) :: Refined Positive Int In an equation for it :3 it = $$(refineTH 0) :: Refined Positive Int×If it's not evident, the example above indicates a compile-time failure, which means that the checking was done at compile-time, thus introducing a zero runtime overhead compared to a plain value construction.*Extracts the refined value.+IThis function helps type inference. It is equivalent to the following: instance Weaken (And l r) l ,IThis function helps type inference. It is equivalent to the following: instance Weaken (And l r) r -IThis function helps type inference. It is equivalent to the following: instance Weaken l (Or l r) .IThis function helps type inference. It is equivalent to the following: instance Weaken r (Or l r) / Display a  as a z ann0The inverse of .17Map the unwrapped computation using the given function. 0 (1 f m) = f (0 m)2 Constructs a computation in the  monad. (The inverse of 3).3Run a monadic action of type  a, yielding an {  a.This is just defined as | . 0.4 One can use 46 inside of a monadic context to begin processing a .5&A handler function to handle previous 7s and return to normal execution. A common idiom is: # do { action1; action2; action3 } ` catchRefine' handler$where the action functions can call 4G. Note that handler and the do-block must have the same return type.6A handler for a .6* is useful for defining what behaviour "1 should have in the event of a predicate failure.A Encode a  for use with Control.Exception.BPretty-print a .6The n of the !%. This can usually be given by using }.A z ~7 encoding a custom error message to be pretty-printed. 7  !"#$%&'()*+,-./01234567#$%&'()*!"   +,-./0123456 mmomstmu!"#€230‚9 None09hnƒ    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwuxyzu{|}~€~~‚ƒ„…u†‡uˆ‰uŠ‹uŒŽu‘’uv“u{”u•– —˜™&refined-0.2.2.0-3j3juoXK7l468cfP6C8idYRefined Refined.TH Control.Monadreturn Unsafe.Coerce unsafeCoerceControl.Monad.CatchthrowMControl.Monad.Error throwErrorRefineMRefineTRefineExceptionRefineNotExceptionRefineAndExceptionRefineOrExceptionRefineOtherExceptionWeakenweakenNonEmptyNonZero ZeroToOne NonNegativeNegative NonPositivePositive NotEqualToEqualToFromToToFrom GreaterThanLessThan Descending Ascending SizeEqualToSizeGreaterThan SizeLessThan||Or&&AndNot Predicatevalidaterefine refineThrow refineFail refineError unsafeRefinerefineTHunrefineandLeftandRightleftOrrightOrdisplayRefineException runRefineT mapRefineTrefineM runRefineM throwRefine catchRefinethrowRefineOtherException $fLiftRefined$fWeakenFromToTo$fWeakenFromToFrom$fWeakenFromToFromTo$fWeakenFromFrom$fWeakenGreaterThanFrom$fWeakenGreaterThanGreaterThan $fWeakenToTo$fWeakenLessThanTo$fWeakenLessThanLessThan$fExceptionRefineException$fPrettyRefineException$fShowRefineException$fPredicateNotEqualTox$fPredicateEqualTox$fPredicateFromTox$fPredicateTox$fPredicateFromx$fPredicateGreaterThanx$fPredicateLessThanx$fPredicateDescendingt$fPredicateAscendingt$fPredicateSizeEqualTot$fPredicateSizeGreaterThant$fPredicateSizeLessThant$fPredicateOrx$fPredicateAndx$fPredicateNotx $fReadRefined $fEqRefined $fOrdRefined $fShowRefined$fGenericRefineException$fFunctorRefineT$fApplicativeRefineT$fMonadRefineT$fMonadFixRefineT$fMonadErrorRefineT$fMonadTransRefineT$fGenericRefineT$fGeneric1RefineT $fLiftTree $fLiftViewR $fLiftViewL $fLiftSeq$fLiftFingerTree $fLiftDigit $fLiftNode $fLiftElem $fLiftSet $fLiftMap $fLiftIntMapbaseData.Functor.IdentityIdentityGHC.Basepure_RefineException_typeRep Data.TypeableTypeRep_RefineException_andChild!these-0.7.4-ItIvrbb6lv6nip6jf1poL Data.TheseTheseThisThat_RefineException_orLChild_RefineException_orRChild_RefineException_message Data.FoldableFoldableGHC.ExtsIsListControl.Monad.FailfailGHC.Errerror,prettyprinter-1.2.0.1-7ZuCLms8xajGeu88e33QHe"Data.Text.Prettyprint.Doc.InternalDoc Data.EitherEither runIdentitytypeOf Data.VoidVoid|>.>