Indeed it would be more simple, and I agree it's somewhat confusing the way I've done it here.

Unfortunately, it caused a test failure, which then got me thinking...

The test that fails is in `TraceWriterTest`:
```csharp
[Fact]
public void SpecimenFormatterIsGivenCorrectTextWriter()
{
    // Fixture setup
    var expectedWriter = new StringWriter();
    var sut = new TraceWriter(expectedWriter, new DelegatingTracingBuilder());

    bool verified = false;
    sut.TraceSpecimenFormatter = (tw, r, i) => verified = tw == expectedWriter;
    // Exercise system
    var dummyRequest = new object();
    var dummyContainer = new DelegatingSpecimenContext();
    sut.Create(dummyRequest, dummyContainer);
    // Verify outcome
    Assert.True(verified);
    // Teardown
}
```

It fails because `DelegatingTracingBuilder` creates a `DelegatingSpecimenBuilder` with a default return value of `null` when `Create` is called.

This got me thinking... even though perhaps `null` is an invalid return value, the logic i'm really attempting to execute here is "did we actually get a return value from Create".