h$     *Copyright (c) 2010--2021 wren gayle romanoBSD wren@cpan.org provisionalHaskell98 + CPPNonedata-or*A data type for non-exclusive disjunction.data-orFunctional eliminator for .data-or Convert an   into an .data-or 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.1On GHC this is a "good producer" for list fusion.data-or A variant of  with a custom -homomorphism.1On GHC this is a "good producer" for list fusion.data-or A variant of ! with a custom list-homomorphism. data-or A variant of  with both a custom -homomorphism and a custom list-homomorphism. This is no more powerful than =, but it may be more convenient to separate the handling of  from the handling of (:). data-or homomorphismdata-orlist homomorphism, (:) partdata-orlist homomorphism, [] part        &data-or-1.0.0.7-8QnjiUu1LCD2VK8ijnpUttData.OrOrFstBothSndelimOreitherOrzipOr zipOrWithzipOrBy zipOrWithBy$fReadOr$fShowOr$fEqOrbase Data.EitherEitherGHC.Listzip