title: Why does visual studio provide two implementations for the IEnumerable interface
body: <p>By default, if i create a class that uses the IEnumerable interface, and allow visual studio provide the default implementations, it creates two. An explicit implementation of the interface, and a normal 'override' of the interface method?</p>
  
  <p>Whats going on here? the only use case i have encountered for explicit interface implementations is to make use of two interfaces with the same method signature, but that doesnt appear to be the case here.</p>