title: WCF CollectionDataContract
body: <p>I recently noticed in one of the articles the wcf service operation returned a collectiondatacontract</p>
  
  <pre><code>Users GetUsers(string someInput);
  </code></pre>
  
  <p>And Users type was defined as below:</p>
  
  <pre><code>[CollectionDataContract]
      public class Users : List&lt;User&gt;
      {
          public Users()
          {
          }
  
          public Users(IEnumerable&lt;User&gt; users) : base(users)
          {
          }
      }
  </code></pre>
  
  <p>Does returning a collectiondatacontract (like Users in this case) serve a different purpose than simply returning <code>List&lt;User&gt;</code> ?</p>