<div dir="ltr">Hi,<div><br></div><div>I find the SequenceType protocol a bit confusing.  My confusion is best explained in the context of a specific, real-world example.  Let&#39;s say that I wanted to extend a protocol with a method &quot;repeated(Int)&quot; that would allow me to iterate over a collection of items multiple times, like this:</div><div><br></div><div>for x in [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;].repeated(3) {</div><div>  print(x, terminator: &quot;&quot;)</div><div>}</div><div><br></div><div>That would be expected to print the string &quot;abcabcabc&quot;.</div><div><br></div><div>Implementing the extension is simple enough.  Here&#39;s my main question: is it more appropriate to implement it by extending SequenceType or extending CollectionType?  I&#39;m not imagining an implementation that does any buffering, so one could argue that the operation would not have predictable behavior in the context of an arbitrary SequenceType -- however, a likely implementation would rely upon nothing more than the the generate() method, which is available in the SequenceType protocol.</div><div><br></div><div>- Aaron</div><div><br></div></div>