title: What's the purpose of std::to_integer?
body: <p>As far as I know, <code>std::to_integer&lt;T&gt;</code> is equivalent to <code>T(value)</code> where <code>value</code> is a variable having type <code>std::byte</code>.<br>
  I looked into some implementations from the major compilers and found that in this case <em>equivalent</em> means literally <em>implemented as</em>. In other terms, most of the times <code>to_integer</code> is actually implemented as:</p>
  
  <pre><code>return T(value);
  </code></pre>
  
  <p>And that's all.</p>
  
  <p>What I don't understand is what's the purpose of such a function?<br>
  Ironically the cons are even more than the pros. I should include a whole header for such a function just to avoid a C-like cast that is most likely directly inlined anyway.</p>
  
  <p>Is there any other reason for that or it's just really a <em>nice looking</em> alternative for a C-like cast and nothing more?</p>