!-?(!Q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP Trustworthy24567these%This instance is available only with deepseq >= 1.4.3.0these%This instance is available only with deepseq >= 1.4.3.0 Trustworthy27: 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 Q A (B, R A)" is unclear and awkward to use." has straightforward instances of S, TM, &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.theseU2 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.theseLike V but for W types.either all are Xeither all are Yor there is both X and Y stuffNote:y this is not online algorithm. In the worst case it will traverse the whole list before deciding the result constructor.,partitionEithersNE $ Left 'x' :| [Right 'y']These ('x' :| "") ('y' :| "").partitionEithersNE $ Left 'x' :| map Left "yz"This ('x' :| "yz")#these$these%these&these !" !" Trustworthy'U8these Bifunctor U.9these 9 =  here:these : =  there;these Bitraversable Z.<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'Dthese Select all  constructors from a list.Ethese Select all  constructors from a list.Fthese Select all  constructors from a list.Ithese I = \ . AJthese J = \ . BKthese K = \ . CLthese L = \ . ?Mthese M = \ . @89:;<=>?@ABCDEFGHIJKLMNOP89:;<=>ABC?@DEFGHIJKLMNOP]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWUXYUZ[UZ\U]^UV_UZ`UVaUVbUcdUZeUfgh these-1.1-KhhUzpJHd2O1lVb9LFDPRwData.Functor.These Data.TheseData.These.Combinators Control.LensoverThese1This1That1$fNFDataThese1$fNFData1These1 $fReadThese1 $fShowThese1 $fOrdThese1 $fEqThese1 $fRead1These1 $fShow1These1 $fOrd1These1 $fEq1These1$fFunctorThese1$fFoldableThese1$fTraversableThese1$fGenericThese1$fGeneric1These1 $fDataThese1TheseThisThatthese fromThese mergeThesemergeTheseWithpartitionThesepartitionHereTherepartitionEithersNEdistrThesePairundistrThesePairdistrPairTheseundistrPairThese $fBinaryThese $fNFDataThese $fAssocThese $fSwapThese$fHashableThese $fMonadThese$fApplicativeThese$fBitraversableThese$fBifoldableThese$fBifunctorThese$fTraversableThese$fFoldableThese$fFunctorThese$fSemigroupThese $fEqThese $fOrdThese $fReadThese $fShowThese $fDataThese$fGenericThese$fGeneric1These bimapThesemapHeremapTherebitraverseThese swapThese assocThese unassocThesejustHere justTherejustThisjustThat justThesecatThiscatThatcatThesecatHerecatThereisThisisThatisThesehasHerehasTheremapThismapThatmapThesebase Data.EitherEither GHC.MaybeMaybeGHC.BaseFunctorMonadData.BifunctorbimappartitionEithersNonEmptyLeftRightData.Bitraversable bitraverseid Data.MaybeisJust