!#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe.16refined.This is defined internally to avoid using the  package, which brings in a lot of very heavy and unnecessary transitive dependencies. We export the type and constructors here, in case a user should need it.refinedCase analysis for the  type.refined.Takes two default values and produces a tuple.refined%Coalesce with the provided operation.refined7BiMap and coalesce results with the provided operation.refinedA  Traversal of the first half of a , suitable for use with  Control.Lens. refinedA  Traversal of the second half of a , suitable for use with  Control.Lens. refined   =   (_ ->  ) (_ _ -> ) refined   =  (_ -> )  (_ _ -> ) refined   =  (_ -> ) (_ ->  ) (a b ->  (a, b)) refined   =  .  refined  =  .  refined  =  .  refined map.refined  = over refined  = over  refined Select all  constructors from a list.refined Select all  constructors from a list.refined Select all  constructors from a list.refined?Select each constructor and partition them into separate lists.   None-56;<=>?FGKSTViC'refined' a is equivalent to (  a for any type a.(refinedA monad transformer that adds )s to other monads.The  and E functions yield computations that produce the given value, while >>=8 sequences two subcomputations, exiting on the first ).)refined)An exception encoding the way in which a I failed.*refinedA ) for failures involving the G predicate.+refinedA ) for failures involving the F predicate.,refinedA ) for failures involving the D predicate.-refinedA )- for failures involving all other predicates.refinedThe  of the G p type.refinedA " encoding which branch(es) of the F failed: if the ) came from the l! predicate, then this will be , if it came from the r predicate, this will be , and if it came from both l and r, this will be .refinedThe ) for the l failure.refinedThe ) for the l failure.refinedA custom message to display..refinedZA 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.0refinedA I ensuring that the  is non-empty.1refinedA I. ensuring that the value is not equal to zero.2refined.An inclusive range of values from zero to one.3refinedA I: ensuring that the value is greater than or equal to zero.4refinedA I+ ensuring that the value is less than zero.5refinedA I7 ensuring that the value is less than or equal to zero.6refinedA I. ensuring that the value is greater than zero.7refinedA IL ensuring that the value is not equal to the specified type-level number n.8refinedA IH ensuring that the value is equal to the specified type-level number n.9refinedA I6 ensuring that the value is within an inclusive range.:refinedA IU ensuring that the value is less than or equal to the specified type-level number.;refinedA IX ensuring that the value is greater than or equal to the specified type-level number.<refinedA IL ensuring that the value is greater than the specified type-level number.=refinedA II ensuring that the value is less than the specified type-level number.>refinedA I ensuring that the 3 contains elements in a strictly descending order.?refinedA I ensuring that the 2 contains elements in a strictly ascending order.@refinedA I ensuring that the A has a length which is equal to the specified type-level number.ArefinedA I ensuring that the E has a length which is greater than the specified type-level number.BrefinedA I ensuring that the B has a length which is less than the specified type-level number.Crefined"The disjunction of two predicates.Drefined"The disjunction of two predicates.Erefined"The conjunction of two predicates.Frefined"The conjunction of two predicates.GrefinedThe negation of a predicate.Hrefined-A predicate which is satisfied for all types.IrefinedPA typeclass which defines a runtime interpretation of a type-level predicate p for type x.JrefinedCheck the value x according to the predicate p=, producing an error string if the value does not satisfy.Krefined/A refinement type, which wraps a value of type x7, ensuring that it satisfies a type-level predicate p.refined FIXME: docMrefined!Helper function, stolen from the flow package.Nrefined!Helper function, stolen from the flow package.refined FIXME: docrefined FIXME: docOrefinedA smart constructor of a K- value. Checks the input value at runtime.Prefined Constructs a K value at run-time, calling 0 if the value does not satisfy the predicate.Qrefined Constructs a K value at run-time, calling 0 if the value does not satisfy the predicate.Rrefined Constructs a K value at run-time, calling  0 if the value does not satisfy the predicate.Srefined Constructs a K 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 IntIf 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./It may be useful to use this function with the `th-lift-instances` package at 6https://hackage.haskell.org/package/th-lift-instances/TrefinedExtracts the refined value.UrefinedIThis function helps type inference. It is equivalent to the following: instance Weaken (And l r) l VrefinedIThis function helps type inference. It is equivalent to the following: instance Weaken (And l r) r WrefinedIThis function helps type inference. It is equivalent to the following: instance Weaken l (Or l r) XrefinedIThis function helps type inference. It is equivalent to the following: instance Weaken r (Or l r) Yrefined Display a ) as a  annZrefinedThe inverse of (.[refined7Map the unwrapped computation using the given function. Z ([ f m) = f (Z m)\refined Constructs a computation in the ' monad. (The inverse of ]).]refinedRun a monadic action of type ' a, yielding an  ) a.This is just defined as   Z.^refined One can use ^6 inside of a monadic context to begin processing a )._refined&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 ^G. Note that handler and the do-block must have the same return type.`refinedA handler for a ).`* is useful for defining what behaviour J1 should have in the event of a predicate failure.krefined Encode a ) for use with Control.Exception.lrefinedPretty-print a ).~refined1This instance makes sure to check the refinement.`refinedThe  of the I%. This can usually be given by using .refinedA  7 encoding a custom error message to be pretty-printed. :'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`:KLOPQRSTIJGFEDCH=<;:987654321BA@0?>./UVWX)*+,-Y(Z['\]^_`MNC2E3M0N9 NoneT7'()*+,-./0123456789:;<=>?@ABCDEFGHIJKOPQRSTUVWXYZ[\]^_`7KOPQRSTIJGFEDCH=<;:987654321BA@0?>./UVWX)*+,-Y(Z['\]^_`Noneorefined Constructs a K value at run-time, calling 0 if the value does not satisfy the predicate.$WARNING: this function is not total!refined Constructs a Kz value, completely ignoring any refinements! Use this only when you can manually prove that the refinement holds.refined@A coercion between a type and any refinement of that type. See Data.Type.Coercion& for functions manipulating coercions.refinedA coercion between two KU types, magicking up the claim that one predicate is entirely equivalent to another.KK NoneKLKL    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU  VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&refined-0.3.0.0-HsI7XG905D4CwFaNCdaiKU Refined.TheseRefined.InternalRefined.Unsafe Control.MonadreturnControl.Monad.CatchthrowMControl.Monad.Error throwErrorRefinedRefined.Unsafe.TypeTheseThisThatthese fromThese mergeThesemergeTheseWithheretherejustThisjustThat justTheseisThisisThatisThesemapThesemapThismapThatcatThiscatThatcatThesepartitionThese$fBifoldableThese$fTraversableThese$fFoldableThese $fNFDataThese $fMonadThese$fApplicativeThese$fFunctorThese$fBifunctorThese$fSemigroupThese $fEqThese $fOrdThese $fReadThese $fShowThese $fDataThese$fGenericThese$fGeneric1TheseRefineMRefineTRefineExceptionRefineNotExceptionRefineAndExceptionRefineOrExceptionRefineOtherExceptionWeakenweakenNonEmptyNonZero ZeroToOne NonNegativeNegative NonPositivePositive NotEqualToEqualToFromToToFrom GreaterThanLessThan Descending Ascending SizeEqualToSizeGreaterThan SizeLessThan||Or&&AndNotIdPred Predicatevalidate|>.>refine refineThrow refineFail refineErrorrefineTHunrefineandLeftandRightleftOrrightOrdisplayRefineException 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$fPredicateIdPredx $fReadRefined $fEqRefined$fFoldableRefined $fOrdRefined $fShowRefined$fGenericIdPred $fGenericNot $fGeneric1Not $fGenericAnd $fGeneric1And $fGenericOr $fGeneric1Or$fGenericSizeLessThan$fGenericSizeGreaterThan$fGenericSizeEqualTo$fGenericAscending$fGenericDescending$fGenericLessThan$fGenericGreaterThan $fGenericFrom $fGenericTo$fGenericFromTo$fGenericEqualTo$fGenericNotEqualTo$fGenericRefineException$fFunctorRefineT$fApplicativeRefineT$fMonadRefineT$fMonadFixRefineT$fMonadErrorRefineT$fMonadTransRefineT$fGenericRefineT$fGeneric1RefineT unsafeRefinereallyUnsafeRefinereallyUnsafeUnderlyingRefinedreallyUnsafePredEquivbaseGHC.BaseJustNothing Data.MaybeisJustData.Bifunctor BifunctorData.Functor.IdentityIdentitypure_RefineException_typeRep Data.TypeableTypeRep_RefineException_andChild_RefineException_orLChild_RefineException_orRChild_RefineException_message Data.FoldableFoldableOrderedincdecControl.Monad.Failfail)prettyprinter-1.2.1-1emSrHEjcl7usGITZsuhr"Data.Text.Prettyprint.Doc.InternalDoc Data.EitherEither runIdentity.typeOf Data.VoidVoidGHC.Errerror