Ok, Ill buy that, but it doesn't help this case:

```
ASSERT.about(javaSource()).that(javaFile).processedWith(daggerProcessors()).failsToCompile()
    .withErrorContaining("0. CyclicModules.Rock included by CyclicModules.Paper")
        .in(javaFile).onLine(6).and()
    .withErrorContaining(...)
        .in(javaFile).onLine(6).and()
    .withErrorContaining(...)
        .in(javaFile).onLine(6).and()
```

just becomes

```
ASSERT.about(javaSource()).that(javaFile).processedWith(daggerProcessors())
    .failsToCompile()
    .withErrorContaining("0. CyclicModules.Rock included by CyclicModules.Paper")
        .in(javaFile).onLine(6).and()
    .withErrorContaining(...)
        .in(javaFile).onLine(6).and()
    .withErrorContaining(...)
        .in(javaFile).onLine(6).and()
```

There's still no initial `and()`  Adding and() to the start would just do this:

```
ASSERT.about(javaSource()).that(javaFile).processedWith(daggerProcessors())
    .failsToCompile()
    .withErrorContaining("0. CyclicModules.Rock included by CyclicModules.Paper")
        .in(javaFile).onLine(6)
    .and().withErrorContaining(...)
        .in(javaFile).onLine(6)
    .and().withErrorContaining(...)
        .in(javaFile).onLine(6)
```

So the first `withError...` ends up mis-aligned with the second and third one.