Example test code: ``` using (AssertEx.Context(() => "baz")) await AssertEx.WaitUntil<object>(() => throw new Exception("Foo")); ``` Current output: ``` System.Exception : Foo at [stack trace] ``` Expected output consistent with the `DoesNotThrow` extension: ``` Expected: value Context: timeoutSeconds = 30 totalRetries = 11 "baz" = "baz" System.Exception: Foo at [stack trace] ``` (with as good of an "Expected" as we can get; perhaps inferred from CallerArgumentExpression or the parameter for any follow-up expressions?)