public void Bind_should_map_a_failed_exceptional_to_another_FAILED_exceptional() { Exceptional <int> exceptional = new InvalidOperationException("invalid"); var mapped = exceptional.Bind(i => Success(i.ToString())); mapped.IsException.Should().BeTrue(); mapped.OnException(ex => { ex.Should().BeOfType <InvalidOperationException>(); ex.Message.Should().Be("invalid"); }); }