     
     private let base: Base
     
-    public typealias Generator = IndexingGenerator<ParallelCollection>
+    public typealias Generator = ParallelCollectionGenerator<Base.Generator>
     
     public typealias Index = Base.Index
     

    public subscript(position: Index) -> Base.Generator.Element {
        return base[position]
    }
}

public struct ParallelMapCollection<Base: CollectionType, Element where Base.Index : RandomAccessIndexType> : ParallelCollectionType {

    private let base: Base
    private let transform: (Base.Generator.Element) -> Element
    
    public typealias Generator = ParallelMapCollectionGenerator<Base.Generator, Element>
    
    public typealias Index = Base.Index
    
