     /// - Returns: A cursor starting at the beginning of this cursor
     ///   with at most `maxLength` elements.
     public func prefix(_ maxLength: Int) -> PrefixCursor<Self> {
-        // TODO: test that [1,2,3,4].prefix(2).prefix(1) is equivalent to
-        // [1,2,3,4].prefix(1).
         return PrefixCursor(self, maxLength: maxLength)
     }
     

            self.inner = inner
        }
    }
    
    private var inner: Base.Element?
    private let base: Base
}

/// A Cursor whose elements consist of those in a Base Cursor passed through a

/// A cursor whose elements consist of the elements that follow the initial
/// consecutive elements of some base cursor that satisfy a given predicate.
public final class DropWhileCursor<Base: Cursor> : Cursor {
    private let base: Base
    private let predicate: (Base.Element) throws -> Bool
    private var predicateHasFailed = false
    
    init(_ base: Base, predicate: @escaping (Base.Element) throws -> Bool) {
