`These` is a monad which expresses "inclusive-OR" relation:
These(A, B) = A + B + A * B.
These represents a simple idea: it can hold either value of type A, value of type B or both of them simultaneously.
Take a look at the following function in TypeScript using These monad from fp-ts package by @GiulioCanti:

so the monad could be reduced to a single value.


