         }
     }
 
+    @inlinable
     public var startIndex: Index {
         return self._range.lowerBound
     }
 
+    @inlinable
     public var endIndex: Index {
         return self._range.upperBound
     }
 
+    @inlinable
     public func index(after i: Index) -> Index {
         return i + 1
     }
 
+    @inlinable
     public subscript(position: Index) -> UInt8 {
         get {
             guard position >= self._range.lowerBound && position < self._range.upperBound else {


extension ByteBufferView: RangeReplaceableCollection {
    // required by `RangeReplaceableCollection`
    public init() {
        self = ByteBufferView(ByteBuffer())
    }

        }
    }

    @inlinable
    public subscript(range: Range<Index>) -> ByteBufferView {
        get {
            return ByteBufferView(buffer: self._buffer, range: range)
