 //
 //===----------------------------------------------------------------------===//
 
-public protocol ReverseIndexType : BidirectionalIndex {
+public protocol ReverseIndexProtocol : BidirectionalIndex {
   typealias Base : BidirectionalIndex
   
   /// A type that can represent the number of steps between pairs of

/// A wrapper for a `BidirectionalIndex` that reverses its
/// direction of traversal.
public struct ReverseIndex<Base: BidirectionalIndex>
: BidirectionalIndex, ReverseIndexType {
  public typealias Distance = Base.Distance
  
  public init(_ base: Base) { self.base = base }

/// A wrapper for a `RandomAccessIndex` that reverses its
/// direction of traversal.
public struct ReverseRandomAccessIndex<Base: RandomAccessIndex>
  : RandomAccessIndex, ReverseIndexProtocol {

  public typealias Distance = Base.Distance
  
