Attempting to follow the [Reused Abstractions Principle](http://www.codemanship.co.uk/parlezuml/blog/?postid=934), it's always a design smell to me when we introduce yet another interface with a single implementation. Is there some other abstraction we can reuse?

Before we answer that question, is this the only comparison we'd ever need to have? How about `PropertyInfo`, `FieldInfo`, etc.?