         }
     }
     
+    @usableFromInline
     func withUnsafeBytes <Result> (in range: Range<Int>, _ block: ((UnsafeRawBufferPointer) throws -> Result)) rethrows -> Result {
         
         return try withUnsafeBytes {


internal extension Data {
    
    func subdataNoCopy(in range: Range<Int>) -> Data {
        
        // stored in heap, can reuse buffer

        }
    }
    
    @usableFromInline
    func suffixNoCopy(from index: Int) -> Data {
        return subdataNoCopy(in: index ..< count)
    }
    
    @usableFromInline
    func suffixCheckingBounds(from start: Int) -> Data {
        
        if count > start {
