rhSA      !"#$%&'()*+,-./0123456789:;<=>?@NoneThe > type represents values with two non-exclusive possibilities. GThis can be useful to represent combinations of two values, where the G combination is defined if either input is. Algebraically, the type   These A B represents  (A + B + AB) , which doesn't factor easily into " sums and products--a type like Either A (B, Maybe A) is unclear and  awkward to use. " has straightforward instances of A, B, & c., and  behaves like a hybrid error/$writer monad, as would be expected. Case analysis for the  type. /Takes two default values and produces a tuple. &Coalesce with the provided operation. A  Traversal of the first half of a , suitable for use with  Control.Lens. A  Traversal of the second half of a , suitable for use with  Control.Lens. A Prism selecting the  constructor. A Prism selecting the  constructor. A Prism selecting the  constructor.  names are ridiculous!   = preview    = preview    = preview    = C .    = C .    = C . D map.   = over   = over  Select all  constructors from a list.  Select all  constructors from a list.  Select all  constructors from a list. @Select each constructor and partition them into separate lists. 'E FGHIJKLMNOPQR  $E FGHIJKLMNOPQRNone @Bifoldable bifunctors supporting traversal through an alignable  functor. Minimal definition:  bicrosswalk or  bisequenceL. Laws:  7 bicrosswalk (const empty) (const empty) = const empty + bicrosswalk f g = bisequenceL . bimap f g <Foldable functors supporting traversal through an alignable  functor. Minimal definition:  crosswalk or  sequenceL. Laws:  # crosswalk (const nil) = const nil " crosswalk f = sequenceL . fmap f !Alignable functors supporting an "inverse" to # : splitting + a union shape into its component parts. ?Minimal definition: nothing; a default definition is provided, D but it may not have the desired definition for all functors. See $ the source for more information. Laws:  4 unalign 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) !<Functors 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 Align. 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 (a -> 4 Maybe (These b c) ~ (a -> Maybe b, a -> Maybe c)). This insight  is due to rwbarton. Minimal definition: nil and either align or  alignWith. Laws:   (`align` nil) = fmap This  (nil `align`) = fmap That  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 two structures and combine with S. 'Align two structures as in T, but filling in blanks with U. (Align two structures as in V, but filling in blanks with U. ) Left-padded V. * Left-padded T. + Right-padded V. , Right-padded T. ( !"#$W%&'()*+,XYZ[\]^_`abcdefghij !"#$%&'()*+,!"#$&'(*),+ %  !"#$W%&'()*+,XYZ[\]^_`abcdefghijNone-The - monad transformer. The k5 function produces a computation with no output, and l " combines multiple outputs with S. 03A chronicle monad parameterized by the output type c. The k5 function produces a computation with no output, and l " combines multiple outputs with S. 33 c& is an action that records the output c. Equivalent to m for the Writer monad. 44 c, is an action that ends with a final output c. Equivalent to n for the o monad. 55 m' is an action that executes the action m, returning either  its record if it ended with 4%, or its final value otherwise, with + any record added to the current record.  Similar to p in the o monad, but with a notion of O non-fatal errors (which are accumulated) vs. fatal errors (which are caught  without accumulating). 66 x m' is an action that executes the action m and discards any $ record it had. The default value x will be used if m ended via  4. 77 m' is an action that executes the action m and keeps its value M only if it had no record. Otherwise, the value (if any) will be discarded  and only the record kept. AThis can be seen as converting non-fatal errors into fatal ones. 88 f m' is an action that executes the action m and applies the  function f4 to its output, leaving the return value unchanged. Equivalent to q for the Writer monad. -./012345678rstuvwxyz{|}~ -./012345678 012-./345678-./012345678rstuvwxyz{|}~NoneAlkBAS-./012345678 012-./345678None:: c& is an action that records the output c. Equivalent to  for the  monad. ;; c, is an action that ends with a final output c. Equivalent to  for the o monad. << m' is an action that executes the action m, returning either  its record if it ended with ;%, or its final value otherwise, with + any record added to the current record.  Similar to  in the o monad, but with a notion of O non-fatal errors (which are accumulated) vs. fatal errors (which are caught  without accumulating). == x m' is an action that executes the action m and discards any $ record it had. The default value x will be used if m ended via  ;. >> m' is an action that executes the action m and keeps its value M only if it had no record. Otherwise, the value (if any) will be discarded  and only the record kept. AThis can be seen as converting non-fatal errors into fatal ones. ?? f m' is an action that executes the action m and applies the  function f4 to its output, leaving the return value unchanged. Equivalent to  for the  monad. @@ m lifts a plain ' These c a' value into a 9 instance. 9:;<=>?@9:;<=>?@9:;<=>?@ 9:;<=>?@      !"#$%&'()*+,-./01223456789:;<=789:;<5>?@>?A>BCDEFGHIJKLMNOPQRST>UV>WX>BY>WZ[\]^_`abcdefghijklmn>?o>?pqrsqtuvwxqtyqrz{|}~>?>?>?>>>>U>U>U>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>vvvvvsvvwuvwyvz these-0.2 Data.These Data.AlignControl.Monad.Trans.ChronicleControl.Monad.Chronicle.ClassControl.Monad.ChronicleTheseThatThisthese fromThese mergeTheseherethere_This_That_ThesejustThisjustThat justTheseisThisisThatisThesemapThesemapThismapThatcatThiscatThatcatThesepartitionThese Bicrosswalk bicrosswalk bisequenceL Crosswalk crosswalk sequenceLUnalignunalignAlignnilalign alignWithalignVectorWithmalignpadZip padZipWith lpadZipWithlpadZip rpadZipWithrpadZip ChronicleT runChronicleT Chronicle chronicle runChronicledictateconfessmementoabsolvecondemnretconMonadChroniclebaseGHC.BaseFunctorMonad Data.MaybeisJustbifunctors-3.0.3Data.Bifunctor Bifunctorprism $fMonadThese $fBindThese$fApplicativeThese $fApplyThese$fBitraversable1These$fBitraversableThese$fBifoldable1These$fBifoldableThese$fBifunctorThese$fTraversableThese$fFoldableThese$fFunctorThese$fSemigroupThese Data.MonoidmappendGHC.ListzipNothingzipWithoops$fBicrosswalkThese$fBicrosswalkEither$fCrosswalkThese $fCrosswalk[]$fCrosswalkMaybe$fCrosswalkIdentity$fUnalignStream$fUnalignProduct$fUnalignZipList $fUnalign[]$fUnalignMaybe $fAlignStream$fAlignProduct $fAlignIntMap $fAlignMap $fAlignSeq$fAlignZipList $fAlign[] $fAlignMaybereturn>>= mtl-2.1.2Control.Monad.Writer.ClasstellControl.Monad.Error.Class throwErrortransformers-0.3.0.0Control.Monad.Trans.ErrorError catchErrorcensor$fMonadWriterwChronicleT$fMonadStatesChronicleT$fMonadRWSrwsChronicleT$fMonadReaderrChronicleT$fMonadErroreChronicleT$fMonadPlusChronicleT$fAlternativeChronicleT$fMonadIOChronicleT$fMonadTransChronicleT$fMonadChronicleT$fBindChronicleT$fApplicativeChronicleT$fApplyChronicleT$fFunctorChronicleTfail>>fmap Control.MonadguardliftM MonadPlusmconcatmemptyMonoidmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzeroControl.Monad.Trans.Class MonadTransliftControl.Monad.IO.ClassMonadIOliftIOsemigroups-0.9Data.Semigrouptimes1psconcat<> SemigroupControl.Monad.Trans.Writer.LazyWriter$fMonadChroniclecWriterT$fMonadChroniclecWriterT0$fMonadChroniclecStateT$fMonadChroniclecStateT0$fMonadChroniclecReaderT$fMonadChroniclecErrorT$fMonadChroniclecMaybeT$fMonadChroniclecIdentityT$fMonadChroniclecChronicleT$fMonadChroniclecThese