default(T)がnullだった時に落ちないようにしなきゃいけないとすると
静的メソッドの

object.Equals(object, object) っていうのが使えるのかな

でもdefault(T)との比較は値型のときの動作が怪しいよな