title: Why return NotImplemented instead of raising NotImplementedError
body: <p>Python has a singleton called <a href="https://docs.python.org/2/library/constants.html#NotImplemented" rel="noreferrer"><code>NotImplemented</code></a>.  </p>
  
  <p>Why would someone want to ever return <code>NotImplemented</code> instead of raising the <a href="https://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError" rel="noreferrer"><code>NotImplementedError</code></a> exception? Won't it just make it harder to find bugs, such as code that executes invalid methods?</p>