t the result to be <code>-99</code>),
in a context where <code>Element</code> is known to be an integer type,
subscripting with <code>Element</code> is a compile-time error:</p>

<pre><code class="language-swift">// error: could not find an overload for &#39;subscript&#39;...
print(Range&lt;Int&gt;(start: -99, end: 100)[0])</code></pre>

<p>However, subscripting that range still works in a generic context:</p>

<pre><code class="language-swift">func brackets&lt;Element: ForwardIndexType&gt;(x: Range&lt;Elem