title: When to use Duck Typing?
body: <h3>Question</h3>
  <p>I've now read a lot about Duck Typing, and I seem to understand the concept.</p>
  <p>What I've not understood is, in what case it does effectively make sense to abandon the benefits of strong typified programming to the benefits of Duck Typing. <em>In what case would one use Duck Typing instead of Interfaces and Inheritance?</em></p>
  <p>I mean if you anyway need to secure that an object passed to a Method implements certain methods, why shouldn't I simply define an Interface?</p>
  <p>Just to be clear, I know how Duck Typing works. I want to know when it really makes sense to use it.</p>
  <h3>Clarification:</h3>
  <p>In which case would you use</p>
  <pre><code>public bool MyMethod(dynamic obj)
  </code></pre>
  <p>instead of</p>
  <pre><code>public bool MyMethod(ISomeInterface obj)
  //or
  public bool MyMethod(SomeBaseClass obj)
  </code></pre>