Either is a discriminated union of LeftOf and RightOf. TypeScript narrows
across both branches of isLeft() / isRight() and _tag checks. Variance
is inherited from LeftOf/RightOf (both covariant in L and R) — union type
aliases cannot carry their own variance annotations in TS.
Either is a discriminated union of LeftOf and RightOf. TypeScript narrows across both branches of
isLeft()/isRight()and_tagchecks. Variance is inherited from LeftOf/RightOf (both covariant in L and R) — union type aliases cannot carry their own variance annotations in TS.