where T : struct , IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T>
ぐらいやっておけば、ある程度、保証できるだろうが、Tの演算子を解決できないので、数値型としては、致命的だろう。
dynamicにキャストすればできるがパフォーマンス悪くなるだろうしなー。