The data-or package offers a data type for non-exclusive disjunction. This is helpful for things like a generic merge function on sets/maps which could be union, mutual difference, etc. based on which
Or value a function argument returns. Also useful for non-truncating zips (cf.
zipOr) and other cases where you sometimes want an
Either and sometimes want a pair.