     }
 
     @_inlineable @_versioned
-    mutating func _moveWriterIndex(to newIndex: Index) {
+    mutating func _moveWriterIndex(to newIndex: _Index) {
         assert(newIndex >= 0 && newIndex <= _toCapacity(self._slice.count))
         self._writerIndex = newIndex
     }

    public typealias Element = UInt8
    public typealias SubSequence = ArraySlice<UInt8>

    public typealias Index = Int

    public var startIndex: Index { return 0 }
    public var endIndex: Index { return self.utf8CodeUnitCount }
    public func index(after i: Index) -> Index { return i + 1 }

    public subscript(position: Int) -> UInt8 {
        precondition(position < self.utf8CodeUnitCount, "index \(position) out of bounds")

    // MARK: Internal API

    @_inlineable @_versioned
    mutating func _moveReaderIndex(to newIndex: _Index) {
        assert(newIndex >= 0 && newIndex <= writerIndex)
        self._readerIndex = newIndex
    }
