So, mixed feelings about this.  The pattern for Truth really isn't to return data to be further asserted-on, but rather to have a wrapper that you call predicate operations on.  This isn't "wrong" but stylistically different.  You're returning data from an `ASSERT.that(something).resultsInSomePredicate();`    It changes the flow to throw in this sort of return. I'd rather have it return a wrapper you could interrogate about the errors, so you can do:

```
ASSERT.that(...).failsToCompile().withErrors("blah","foo");
```

or some more complex error.  There would be nothing stopping you from, in theory, capturing en route.

```
CompileFailure failure = ASSERT.that(...).failsToCompile();
failure.withErrors("foo", "bar"); 
```

if you wanted to, but it would allow you to chain.