Swift 3.1 Released
Used objc a bit; never used swift. Question about this signature:<p><pre><code>    func drop(while predicate: (Self.Iterator.Element) throws -> Bool) rethrows -> Self.SubSequence
</code></pre>
I take it the "throws" on the type of predicate means it can 'throw/return' an error. Why would you do this? Why not just require your predicate function to be able to process any element?<p>Or I am confused?<p>It seems like the equivalent in Go, for example, would be something like this<p><pre><code>   func drop(seq []T, while func(T) (bool, error)) ([]T, error)
</code></pre>
which, again, seems like madness.<p>Or am I confused?