title: C# Contract.Result type when comparing to null
body: <p>It is annoying than Contract.Result can not work out its type in some situations. See extract from manual below.</p>
  
  <blockquote>
    <p><strong>Method Return Values</strong> Within postconditions the method's return value can be referred to via the expression <code>Contract.Result&lt;T&gt;()</code>, where T is replaced with the return type of the method. When the compiler is unable to infer the type it must be explicitly given. <strong>For instance, the C# compiler is unable to infer types for methods that do not take any arguments.</strong></p>
  </blockquote>
  
  <p>I have noticed that code snippet <code>cen</code> produces <code>Contract.Ensures(Contract.Result&lt;String&gt;() != null);</code> With String highlighted for edit.</p>
  
  <p>Am I missing something, or can I just set the type to Object when comparing to null.
  i.e. <code>Contract.Ensures(Contract.Result&lt;Object&gt;() != null);</code></p>