改めて思ったけど、IEquatable<T>とIEqualityComparer<T>の関係って
なんだかわかりづらいな。

IEquatable実装したらGetHashCodeもオーバライドしろっていうのなら
IEqualityComparerだけあれば十分じゃないのか