Again, using *Devil's Advocate*, I could rewrite this method as:

```C#
public IReflectionVisitor<T> Accept<T>(IReflectionVisitor<T> visitor)
{
    if (visitor == null) throw new ArgumentNullException("visitor");
    visitor.Visit(this);
    return null;
}
```

All tests still pass.