title: The null-coalescing operator doesn't accepts different types
body: <p>I started out, returning a custom class:</p>
  
  <pre class="lang-cs prettyprint-override"><code>[HttpGet()]
  public ActionResult&lt;Round&gt; Get(string id) =&gt;
      this._roundsService.Get(id);
  </code></pre>
  
  <p>The Get method in the rounds service can return null and that gets converted to HTTP 204 No Content. I was wondering how to return 404 when I get null:</p>
  
  <pre class="lang-cs prettyprint-override"><code>[HttpGet()]
  public ActionResult&lt;Round&gt; Get(string id) =&gt;
      this._roundsService.Get(id) ?? NotFound();
  </code></pre>
  
  <p>Apperantly this doesn't work and gives me a CS0019 error: <code>Operator '??' cannot be applied to operands of type 'Round' and 'NotFoundResult'</code></p>
  
  <p>I'm open to other one-liners that would return the desired object if not null and 404 if null.</p>
  
  <p>I'm using C# 8.0 with the netcoreapp3.0 framework. I haven't enabled the nullable feature. Could that be causing the problem?</p>
  
  <p>Just in case, here's the method in the service class:</p>
  
  <pre class="lang-cs prettyprint-override"><code>public Round Get(string id) =&gt;
      this._rounds.Find(round =&gt; round.Id == id).FirstOrDefault();
  </code></pre>