Represents a disjoint union i.e. a type with two possibilities, either Left or Right.
Provides a Right biased map and flatMap function as well as a few others.