Why don't number types share a common interface?
<p>I recently ran across the problem, that I wanted a function to work on both doubles and integers and wondered, why there is no common interface for all number types (containing arithmetic operators and comparisons).</p>

<p>It would make writing functions like <code>Math.Min</code> (which exist in a gazillion overloads) way more convinient.</p>

<p>Would introducing an additional interface be a breaking change?</p>

<p><strong>Edit:</strong>
I think about using this like</p>

<pre><code>public T Add&lt;T&gt;(T a, T b) where T: INumber
{
    return a+b;
}
</code></pre>

<p>or</p>

<pre><code>public T Range&lt;T&gt;(T x, T min, T max) where T:INumber
{
    return Max(x, Min(x, max), min);
}
</code></pre>
