title: Convert subsequence of Collection to String
body: <p>I'd like to convert a SubSequence of a Collection to a String. For example, this function collects the first two bytes of the collection and converts it to a String.</p>
  
  <pre><code>func convert&lt;T: Collection&gt;(_ c: T) -&gt; String 
      where T.Iterator.Element == UInt8 
  {
      let start = c.startIndex
      let end = c.index(after: start)
      return String(bytes: c[start ... end], encoding: String.Encoding.utf8)!
  }
  </code></pre>
  
  <p>This leads to this error:</p>
  
  <pre><code>error: ambiguous reference to member 'subscript'
          return String(bytes: c[start ... end], encoding: String.Encoding.utf8)!
                               ~^~~~~~~~~~~~~~~
  Swift.Collection:167:12: note: found this candidate
      public subscript(position: Self.Index) -&gt; Self.Iterator.Element { get }
             ^
  Swift.Collection:189:12: note: found this candidate
      public subscript(bounds: Range&lt;Self.Index&gt;) -&gt; Self.SubSequence { get }
             ^
  Swift.Collection:25:12: note: found this candidate
      public subscript(bounds: Range&lt;Self.Index&gt;) -&gt; Slice&lt;Self&gt; { get }
             ^
  Swift.IndexableBase:54:12: note: found this candidate
      public subscript(position: Self.Index) -&gt; Self._Element { get }
             ^
  Swift.IndexableBase:63:12: note: found this candidate
      public subscript(bounds: Range&lt;Self.Index&gt;) -&gt; Self.SubSequence { get }
             ^
  Swift.Indexable:23:12: note: found this candidate
      public subscript(bounds: ClosedRange&lt;Self.Index&gt;) -&gt; Self.SubSequence { get }
             ^
  Swift.Indexable:23:12: note: found this candidate
      public subscript(bounds: CountableRange&lt;Self.Index&gt;) -&gt; Self.SubSequence { get }
             ^
  Swift.Indexable:45:12: note: found this candidate
      public subscript(bounds: CountableClosedRange&lt;Self.Index&gt;) -&gt; Self.SubSequence { get }
  </code></pre>
  
  <p>What am I missing here? :-)</p>