     }
 }
 
-public extension BidirectionalCollection {
+extension BidirectionalCollection {
     
     @_inlineable
     public func suffix(while predicate: (Iterator.Element) throws -> Bool) rethrows -> SubSequence {

    }
}

public extension Sequence {
    
    /// Return `true` if all of elements in `seq` satisfies `predicate`.
    ///


// MARK: LazyGatherCollection

extension Collection {
    
    @_inlineable
    public func collect<I : Sequence>(_ indices: I) -> [Iterator.Element] where Index == I.Iterator.Element {
        return indices.map { self[$0] }
    }
}
