title: Why does `if None.__eq__("a")` seem to evaluate to True (but not quite)?
body: <p>If you execute the following statement in Python 3.7, it will (from my testing) print <code>b</code>:</p>
  
  <pre><code>if None.__eq__("a"):
      print("b")
  </code></pre>
  
  <p>However, <code>None.__eq__("a")</code> evaluates to <code>NotImplemented</code>.</p>
  
  <p>Naturally, <code>"a".__eq__("a")</code> evaluates to <code>True</code>, and <code>"b".__eq__("a")</code> evaluates to <code>False</code>.</p>
  
  <p>I initially discovered this when testing the return value of a function, but didn't return anything in the second case -- so, the function returned <code>None</code>.</p>
  
  <p>What's going on here?</p>