From a pure efficiency perspective, you might be correct. However, a client might do a LINQ query over a set of types, and, during projection, end up with a filtered list of members (instead of types). If that's the case, one of the other `Verify` overloads might be called, effectively bypassing `Verify(Type)`. Therefore, it's important to implement each verification at the most fine-grained level possible.