Actually, doing like the following comment seems tedious to me.
>The only way to be sure is to identify all the old tests that relies on this class, and deliberately revert the SUT's implementation so that these tests fail. This proves that no false negatives were introduced, and then one can re-implement the SUT correctly again.

Instead, I added the statement as below and checked out test outputs of the ConsctuctorInfoElementTests class for it. Is it not enough to tell that there isn't false negatives by the `TypeWithCtor` modification?

```c#
public ConstructorInfoElement(ConstructorInfo constructorInfo)
{
    if (constructorInfo == null) throw new ArgumentNullException("constructorInfo");
    Console.WriteLine(constructorInfo.ReflectedType + ":" + constructorInfo);
    ConstructorInfo = constructorInfo;
}
```

```
------ Test started: Assembly: Ploeh.Albedo.UnitTests.dll ------

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutEqualsOtherIdenticalInstance:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutIsReflectionElement:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualAnonymousObject(other: ""):
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualAnonymousObject(other: "bar"):
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualAnonymousObject(other: System.Version):
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualAnonymousObject(other: null):
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualAnonymousObject(other: 1):
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualAnonymousObject(other: Query):
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.ConstructorInfoIsCorrect:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.SutDoesNotEqualDifferentInstanceOfSameType:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()
  Ploeh.Albedo.UnitTests.ConstructorInfoElementTests:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.GetHashCodeReturnsCorrectResult:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.AcceptNullVisitorThrows:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

Output from Ploeh.Albedo.UnitTests.ConstructorInfoElementTests.AcceptCallsTheCorrectVisitorMethodAndReturnsTheCorrectInstance:
  Ploeh.Albedo.UnitTests.TypeWithCtor:Void .ctor()

14 passed, 0 failed, 0 skipped, took 0.74 seconds (xUnit.net 1.9.2 build 1705).
```