# these-1: An either-or-both data type.

This package provides a data type `These a b`

which can hold a value of either
type or values of each type. This is usually thought of as an "inclusive or"
type (contrasting `Either a b`

as "exclusive or") or as an "outer join" type
(contrasting `(a, b)`

as "inner join").

data These a b = This a | That b | These a b

Since version 1, this package was split into parts:

- semialign For
`Align`

and`Zip`

type-classes. - semialign-indexed For
`SemialignWithIndex`

class, providing`ialignWith`

and`izipWith`

. - these-lens For lens combinators.
- monad-chronicle For transformers variant of
`These`

.