>cmp = cmp ?? Comparer<T>.Default

とても頭の悪そうなコードですね
意味を考えたら不適切