title: xml.etree.ElementTree.Element.remove not removing all elements
body: <p>Please see the following code:</p>
  
  <pre><code>import xml.etree.ElementTree as ET
  for x in ("&lt;a&gt;&lt;b /&gt;&lt;c&gt;&lt;d /&gt;&lt;/c&gt;&lt;/a&gt;", "&lt;a&gt;&lt;q /&gt;&lt;b /&gt;&lt;c&gt;&lt;d /&gt;&lt;/c&gt;&lt;/a&gt;", "&lt;a&gt;&lt;m /&gt;&lt;q /&gt;&lt;b /&gt;&lt;c&gt;&lt;d /&gt;&lt;/c&gt;&lt;/a&gt;"):
      root = ET.fromstring(x)
      for e in root: root.remove(e)
      print(ET.tostring(root))
  </code></pre>
  
  <p>I expect it to output <code>&lt;a&gt;&lt;/a&gt;</code> in all instances but instead it gives:</p>
  
  <pre><code>b'&lt;a&gt;&lt;c&gt;&lt;d /&gt;&lt;/c&gt;&lt;/a&gt;'
  b'&lt;a&gt;&lt;b /&gt;&lt;/a&gt;'
  b'&lt;a&gt;&lt;q /&gt;&lt;c&gt;&lt;d /&gt;&lt;/c&gt;&lt;/a&gt;'
  </code></pre>
  
  <p>I totally don't grok this. I don't see any pattern to the specific elements that were removed either.</p>
  
  <p>The documentation merely says: </p>
  
  <blockquote>
    <p>Removes subelement from the element. Unlike the find* methods this
    method compares elements based on the instance identity, not on tag
    value or contents.</p>
  </blockquote>
  
  <p>What am I doing/assuming wrong? I am getting basically the same output with both Python 2.7.5 and 3.4.0 on Kubuntu Trusty.</p>
  
  <p>Thanks!</p>