!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None24567these%This instance is available only with deepseq >= 1.4.3.0these%This instance is available only with deepseq >= 1.4.3.0None27 theseThe = type represents values with two non-exclusive possibilities.This can be useful to represent combinations of two values, where the combination is defined if either input is. Algebraically, the type  A B represents  (A + B + AB)E, which doesn't factor easily into sums and products--a type like  A (B,  A)" is unclear and awkward to use." has straightforward instances of , M, &c., and behaves like a hybrid error/writer monad, as would be expected.-For zipping and unzipping of structures with  values, see  Data.Align."theseCase analysis for the  type.#these.Takes two default values and produces a tuple.$these%Coalesce with the provided operation.%these2 and coalesce results with the provided operation.&these?Select each constructor and partition them into separate lists.'theseSelect here and there1 elements and partition them into separate lists.(these)these*these+these,these-these.these/these0these1these2these3these4these:theseDtheseEthese ! "#$%&' ! "#$%&'NoneQ LtheseKBifoldable bifunctors supporting traversal through an alignable functor.Minimal definition:  bicrosswalk or  bisequenceL.Laws: `bicrosswalk (const empty) (const empty) = const empty bicrosswalk f g = bisequenceL . bimap f g OtheseGFoldable functors supporting traversal through an alignable functor.Minimal definition:  crosswalk or  sequenceL.Laws: Ccrosswalk (const nil) = const nil crosswalk f = sequenceL . fmap f Rthese.Alignable functors supporting an "inverse" to W6: splitting a union shape into its component parts.Minimal definition: nothing; a default definition is provided, but it may not have the desired definition for all functors. See the source for more information.Laws: dunalign nil = (nil, nil) unalign (This <$> x) = (Just <$> x, Nothing <$ x) unalign (That <$> y) = (Nothing <$ y, Just <$> y) unalign (join These <$> x) = (Just <$> x, Just <$> x) unalign ((x `These`) <$> y) = (Just x <$ y, Just <$> y) unalign ((`These` y) <$> x) = (Just <$> x, Just y <$ x) Tthese A unit of W.Laws: 4(`align` nil) = fmap This (nil `align`) = fmap That UtheseAn empty structure. W ing with UY will produce a structure with the same shape and elements as the other input, modulo  or  .VtheseRFunctors supporting a zip operation that takes the union of non-uniform shapes.+If your functor is actually a functor from  Kleisli Maybe to Hask (so it supports )maybeMap :: (a -> Maybe b) -> f a -> f b ), then an AlignZ instance is making your functor lax monoidal w.r.t. the cartesian monoidal structure on  Kleisli Maybe , because These+ is the cartesian product in that category 8(a -> Maybe (These b c) ~ (a -> Maybe b, a -> Maybe c))#. This insight is due to rwbarton.Minimal definition: either align or  alignWith.Laws: join align = fmap (join These) align (f <$> x) (g <$> y) = bimap f g <$> align x y alignWith f a b = f <$> align a b align x (align y z) = fmap assoc (align (align x y) z) Note: join f x = f x xAnd an addition property if f is , which tries to enforce W/-feel: neither values are duplicated nor lost. btoList x = toListOf (folded . here) (align x y) = mapMaybe justHere (toList (align x y)) Wthese Analogous to K, combines two structures by taking the union of their shapes and using  to hold the elements.Xthese Analogous to t, combines two structures by taking the union of their shapes and combining the elements with the given function.Zthese&Align two structures and combine with .See [. Z will be deprecated after  becomes a super class of [these&Align two structures and combine with .\theseAlign two structures as in , but filling in blanks with .]theseAlign two structures as in , but filling in blanks with .^these Left-padded ._these Left-padded .`these Right-padded .athese Right-padded .bthesecthesehthesemthesesthesettheseythesethesetheseLMNOPQRSTUVWXYZ[\]^_`aVWXTUZ[\]_^a`YRSOPQLMNNoneStheseKeyed version of T.these Analogous to X, but also provides an index.theseNone=?@ACUFtheseKeyed version of T.these Analogous to X, but also provides an index.None_these Bifunctor .these  =   herethese  =   therethese Bitraversable .these is commutative.  .  =  these is associative.  .  =   .  =  these is associative. See .thesejustHere (This 'x')Just 'x'justHere (That 'y')NothingjustHere (These 'x' 'y')Just 'x'thesejustThere (This 'x')NothingjustThere (That 'y')Just 'y'justThere (These 'x' 'y')Just 'y'these Select all  constructors from a list.these Select all   constructors from a list.these Select all  constructors from a list.these  =  . these  =  . these  =  . these  =  . these  =  . None=?@A{n theseThe  monad transformer.The 5 function produces a computation with no output, and # combines multiple outputs with .these3A chronicle monad parameterized by the output type c.The 5 function produces a computation with no output, and # combines multiple outputs with .these c& is an action that records the output c.Equivalent to  for the Writer monad.these c& is an action that records the output c and returns a  value.QThis is a convenience function for reporting non-fatal errors in one branch a casex, or similar scenarios when there is no meaningful result but a placeholder of sorts is needed in order to continue.these c, is an action that ends with a final output c.Equivalent to  for the  monad.these m' is an action that executes the action m2, returning either its record if it ended with O, or its final value otherwise, with any record added to the current record. Similar to  in the  monad, but with a notion of non-fatal errors (which are accumulated) vs. fatal errors (which are caught without accumulating).these x m' is an action that executes the action m6 and discards any record it had. The default value x will be used if m ended via .these m' is an action that executes the action m~ and keeps its value only if it had no record. Otherwise, the value (if any) will be discarded and only the record kept.@This can be seen as converting non-fatal errors into fatal ones.these f m' is an action that executes the action m and applies the function f3 to its output, leaving the return value unchanged.Equivalent to   for the Writer monad. None=?@ACthese c& is an action that records the output c.Equivalent to   for the   monad.these c& is an action that records the output c and returns a  value.QThis is a convenience function for reporting non-fatal errors in one branch a casex, or similar scenarios when there is no meaningful result but a placeholder of sorts is needed in order to continue.these c, is an action that ends with a final record c.Equivalent to   for the  monad.these m' is an action that executes the action m2, returning either its record if it ended with O, or its final value otherwise, with any record added to the current record. Similar to   in the  monad, but with a notion of non-fatal errors (which are accumulated) vs. fatal errors (which are caught without accumulating).these x m' is an action that executes the action m6 and discards any record it had. The default value x will be used if m ended via .these m' is an action that executes the action m~ and keeps its value only if it had no record. Otherwise, the value (if any) will be discarded and only the record kept.@This can be seen as converting non-fatal errors into fatal ones.these f m' is an action that executes the action m and applies the function f3 to its output, leaving the return value unchanged.Equivalent to  for the   monad.these m( lifts a plain 'These c a' value into a  instance. None@ !"#$%&'()*+,-./012345678 NoneutheseA    of the first half of a , suitable for use with  Control.Lens.  ::    ( a t) ( b t) a b over here show (That 1)That 1over here show (These 'a' 2) These "'a'" 2theseA    of the second half of a , suitable for use with  Control.Lens.  ::    ( t b) ( t b) a b over there show (That 1)That "1"over there show (These 'a' 2) These 'a' "2"theseA 9 selecting the  constructor.Note: cannot change type.theseA 9 selecting the   constructor.Note: cannot change type.theseA 9 selecting the  constructor.  names are ridiculous!Note: cannot change type.: !"#$%&'()*+,-./-0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'&()*+,-.-/ 0 1 2 3 4 5 6 7 8 9 : ; < =&>?@ABCDEFGHIJKLMLNOPQR"these-0.8.1-575IIe0BHphJSPTKL4ptiIControl.Monad.ChronicleData.Functor.These Data.These Data.AlignData.Align.KeyData.Align.IndexedData.These.CombinatorsControl.Monad.Trans.ChronicleControl.Monad.Chronicle.ClassData.These.Lens Control.Lensover TraversalbaseGHC.BasememptymappendmconcatMonoidThese1This1That1$fArbitraryThese1$fArbitrary1These1$fFromJSONThese1$fToJSONThese1$fFromJSON1These1$fToJSON1These1$fNFDataThese1$fNFData1These1 $fReadThese1 $fShowThese1 $fOrdThese1 $fEqThese1 $fRead1These1 $fShow1These1 $fOrd1These1 $fEq1These1$fFunctorThese1$fFoldableThese1$fTraversableThese1$fGenericThese1$fGeneric1These1 $fDataThese1TheseThisThatthese fromThese mergeThesemergeTheseWithpartitionThesepartitionHereThere$fCoArbitraryThese$fFunctionThese$fArbitraryThese$fArbitrary1These$fArbitrary2These$fFromJSON1These$fFromJSON2These$fToJSON1These$fToJSON2These$fFromJSONThese $fToJSONThese $fBinaryThese $fNFDataThese$fHashableThese $fMonadThese $fBindThese$fApplicativeThese $fApplyThese$fSwappedThese$fBitraversable1These$fBitraversableThese$fBifoldable1These$fBifoldableThese$fBifunctorThese$fTraversableThese$fFoldableThese$fFunctorThese$fSemigroupThese $fAssocThese $fSwapThese $fEqThese $fOrdThese $fReadThese $fShowThese $fDataThese$fGenericThese Bicrosswalk bicrosswalk bisequenceL Crosswalk crosswalk sequenceLUnalignunalignAlignnil Semialignalign alignWithalignVectorWithmalignsalignpadZip padZipWith lpadZipWithlpadZip rpadZipWithrpadZip$fSemialignProxy$fSemialignTagged$fSemialignHashMap$fSemialignVector$fSemialignBundle$fSemialignStream$fSemialignCompose$fSemialignProduct$fSemialignIdentity$fSemialignIntMap$fSemialignMap$fSemialignTree$fSemialignSeq$fSemialignZipList$fSemialignNonEmpty $fSemialign[]$fSemialignMaybe $fSemialign-> $fAlignProxy$fAlignHashMap $fAlignVector $fAlignBundle $fAlignStream$fAlignCompose$fAlignProduct $fAlignIntMap $fAlignMap $fAlignSeq$fAlignZipList $fAlign[] $fAlignMaybe$fUnalignStream$fUnalignProduct$fUnalignZipList $fUnalign[]$fUnalignMaybe$fCrosswalkCompose$fCrosswalk(,)$fCrosswalkVector$fCrosswalkThese$fCrosswalkSeq $fCrosswalk[]$fCrosswalkMaybe$fCrosswalkIdentity$fBicrosswalkThese$fBicrosswalkEither AlignWithKey alignWithKey$fAlignWithKeyVector$fAlignWithKeyHashMap$fAlignWithKeyMap$fAlignWithKeyIntMap$fAlignWithKeySeq$fAlignWithKeyZipList$fAlignWithKey[]$fAlignWithKeyMaybeAlignWithIndexialign$fAlignWithIndexIntVector$fAlignWithIndexkHashMap$fAlignWithIndexkMap$fAlignWithIndexIntIntMap$fAlignWithIndexIntSeq$fAlignWithIndexIntZipList$fAlignWithIndexInt[]$fAlignWithIndex()Maybe bimapThesemapHeremapTherebitraverseThese swapThese assocThese unassocThesejustHere justTherejustThisjustThat justThesecatThiscatThatcatThesecatHerecatThereisThisisThatisThesehasHerehasTheremapThismapThatmapThese ChronicleT runChronicleT Chronicle chronicle runChronicledictatediscloseconfessmementoabsolvecondemnretcon$fMonadFixChronicleT$fMonadWriterwChronicleT$fMonadStatesChronicleT$fMonadRWSrwsChronicleT$fMonadReaderrChronicleT$fMonadErroreChronicleT$fMonadPlusChronicleT$fAlternativeChronicleT$fMonadIOChronicleT$fMonadTransChronicleT$fMonadChronicleT$fBindChronicleT$fApplicativeChronicleT$fApplyChronicleT$fFunctorChronicleTMonadChronicle$fMonadChroniclecRWST$fMonadChroniclecRWST0$fMonadChroniclecWriterT$fMonadChroniclecWriterT0$fMonadChroniclecStateT$fMonadChroniclecStateT0$fMonadChroniclecReaderT$fMonadChroniclecExceptT$fMonadChroniclecErrorT$fMonadChroniclecMaybeT$fMonadChroniclecIdentityT$fMonadChroniclecChronicleT$fMonadChroniclecTheseherethere_This_That_These Data.EitherEither GHC.MaybeMaybeFunctorMonadData.Bifunctorbimap Data.FoldableFoldableGHC.ListzipzipWith Semigroup<>NothingData.Bitraversable bitraverseid Data.MaybeisJustreturn>>= mtl-2.2.2Control.Monad.Writer.Classtell1data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.ClassDefaultControl.Monad.Error.Class throwErrortransformers-0.5.5.0Control.Monad.Trans.ErrorError catchErrorcensorControl.Monad.Trans.RWS.Lazy!Control.Monad.Trans.Writer.StrictWriter Control.Monadguardjoin>>failfmapData.TraversablemapMsequenceliftM MonadPlusmzeromplusControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforMmsum sequence_forM_mapM_ Data.FunctorvoidapliftM5liftM4liftM3liftM2when=<<Control.Monad.Trans.Class MonadTranslift"lens-4.17.1-HEQjfZUiugxAGaOjPAZ1CdControl.Lens.TypePrism'