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").
The major use case of this is provided by the 'Align' class, representing a
generalized notion of "zipping with padding" that combines structures without
truncating to the size of the smaller input.
Also included is 'ChronicleT', a monad transformer based on the Monad instance
for 'These a', along with the usual monad transformer bells and whistles.