The Either type, and associated operations.
Either type is sometimes used to represent a value which is
either correct or an error; by convention, the
Left constructor is
used to hold an error value and the
Right constructor is used to
hold a correct value (mnemonic: "right" also means "correct").