Option::and is not as polymorphic as it can be

Option::and currently requires optb to contain the same type as self. Option::and_then demonstrates that this is unnecessary, since the function will either return None or optb.