title: TypeError: multiple bases have instance lay-out conflict
body: <p>I wanted to create a class out of two: <code>collections.OrderedDict</code> and <code>collections.DefaultDict</code>. So that I can get an ordered dictionary and have a default value for non existing keys being accessed. Whats are some ways to do this?</p>
  
  <p>My solution was to create another class around the 2 classes I stated above. This makes an error due to a method in each class having the same name I think?</p>
  
  <pre><code>from collections import defaultdict, OrderedDict
  class owndic(OrderedDict, defaultdict):
      pass
  </code></pre>
  
  <p>producing</p>
  
  <pre><code>TypeError: multiple bases have instance lay-out conflict
  </code></pre>
  
  <p>Cheers!</p>