Generically typed interface
You see this same pattern in the framework for IEquatable&lt;T&gt;.  The most frequent use case for this is writing a generic method where you constrain the generic parameter type to implement the interface.  This then allows you to write code in terms of a statically typed method Equals&lt;T&gt;.  Another example is IComparable&lt;T&gt;, which is very handy for implementing methods relying on sorting without having to use the older style of providing an external Comparator class.  For instance, the default comparison mechanism for the LINQ OrderBy method uses IComparable&lt;T&gt;, if it's available.  In both of these cases, it's very natural to say that an instance of a type is comparable or equatable to other instances of the same type.