title: What is dynamic dispatch and duck typing?
body: <p>When using Pycharm, It often points out an error, saying:</p>
  
  <blockquote>
    <p>Unresolved reference 'name'. This inspection detects names that should
    resolve but don't. <em>Due to dynamic dispatch and duck typing</em>, this is
    possible in a limited but useful number of cases. Top-level and
    class-level items are supported better than instance items.</p>
  </blockquote>
  
  <p>I've snooped around about this, but most questions and information I find is about preventing the message from being shown. what I want to know is:</p>
  
  <ul>
  <li>What is dynamic dispatch/duck typing?</li>
  <li>What are (or an example of) these "useful number of cases"?</li>
  </ul>