         }
     }
 
+    // The actual storage for Data's various representations.
+    // Inlinability strategy: almost everything should be inlinable as forwarding the underlying implementations. (Inlining can also help avoid retain-release traffic around pulling values out of enums.)
     @usableFromInline
     @_frozen
     internal enum _Representation {

        case slice(InlineSlice)
        case large(LargeSlice)

        @inlinable
        init(_ buffer: UnsafeRawBufferPointer) {
            if buffer.count == 0 {
                self = .empty

            }
        }

        @inlinable // This is @inlinable as a generic, trivially forwarding function.
        func withUnsafeBytes<Result>(_ apply: (UnsafeRawBufferPointer) throws -> Result) rethrows -> Result {
            switch self {
            case .empty:
