 the representation of the <code>str</code> type is hidden,
which means that any value of type <code>str</code> must have been produced
through an API under the control of the <code>str</code> module, and these
APIs in turn ensure valid utf-8 encoding.</p>

<p>Rust&#39;s type system makes it possible to provide guarantees even while
revealing more of the representation than usual. For example, the
<code>as_bytes()</code> method on <code>&amp;str</code> gives a <em>read-only</em> view into the
underlying buf