Using *Devil's Advocate*, this also passes all tests:

```C#
public IReflectionVisitor<T> Accept<T>(IReflectionVisitor<T> visitor)
{
    if (visitor == null) throw new ArgumentNullException("visitor");
    visitor.Visit(this);
    return null;
}
```