úÎa½  Haskell98 + CPP provisionalwren@community.haskell.org +A data type for non-exclusive disjunction. Functional eliminator for .  Convert an   into an .  A variant of  - which exhausts both lists, annotating which : list the elements came from. It will return zero or more Both, ! followed by either zero or more Fst or else zero or more Snd. On GHC this is a " good producer" for list fusion.  A variant of  with a custom -homomorphism. On GHC this is a " good producer" for list fusion.  A variant of " with a custom list-homomorphism.  A variant of  with both a custom -homomorphism and ; a custom list-homomorphism. This is no more powerful than  9, but it may be more convenient to separate the handling  of  from the handling of (:).  homomorphism list homomorphism, (:) part list homomorphism, [] part         data-or-1.0.0Data.OrOrSndBothFstelimOreitherOrzipOr zipOrWithzipOrBy zipOrWithBybase Data.EitherEitherGHC.Listzip