Implement 4.1: Option methods.
Implement 4.2: variance
Implement 4.3: map2
Implement 4.6: Implement methods on Either.
Implement 5.1: toList
Implement 5.2; take and drop
Implement 5.3: takeWhile
Implement 5.5: forAll