Math operations with null
<p>Please explain why this test passes?</p>

<pre><code>[Test]
public void TestNullOps()
{
    Assert.That(10 / null, Is.Null);
    Assert.That(10 * null, Is.Null);
    Assert.That(10 + null, Is.Null);
    Assert.That(10 - null, Is.Null);
    Assert.That(10 % null, Is.Null);
    Assert.That(null / 10, Is.Null);
    Assert.That(null * 10, Is.Null);
    Assert.That(null + 10, Is.Null);
    Assert.That(null - 10, Is.Null);
    Assert.That(null % 10, Is.Null);

    int zero = 0;
    Assert.That(null / zero, Is.Null);
}
</code></pre>

<p>I don't understand how this code even compiles.</p>

<p>Looks like each math expression with null returns <code>Nullable&lt;T&gt;</code> (e.g. <code>10 / null</code> is a <code>Nullable&lt;int&gt;</code>). But I don't see operator methods in <code>Nullable&lt;T&gt;</code> class. If these operators are taken from <code>int</code>, why the last assertion doesn't fail?</p>
