public void And() { Option <int> opt1 = new Some <int>(1); Assert.Equal(2, opt1.And(new Some <int>(2)).Unwrap()); Assert.Equal(None <int> .Instance, opt1.And(None <int> .Instance)); Option <int> opt2 = None <int> .Instance; Assert.Equal(None <int> .Instance, opt2.And(new Some <int>(2))); Assert.Equal(None <int> .Instance, opt2.And(None <int> .Instance)); }