title: Why does std::cbegin return the same type as std::begin
body: <p><a href="http://en.cppreference.com/w/cpp/iterator/begin">cppreference</a> shows this signature for <code>std::cbegin</code>:</p>
  
  <pre><code>template&lt; class C &gt;
  constexpr auto cbegin( const C&amp; c ) -&gt; decltype(std::begin(c));
  </code></pre>
  
  <p>Shouldn't it return something like <code>C::const_iterator</code> instead?</p>