     //
     
     /// The hash value for the data.
-    @inlinable
-    public var hashValue: Int {
-        return _representation.hashValue
+    @inline(never) // This is not inlinable as emission into clients could cause cross-module inconsistencies if they are not all recompiled together.
+    public func hash(into hasher: inout Hasher) {
+        _representation.hash(into: &hasher)
     }
     
     @inlinable

            storage.copyBytes(to: pointer, from: range)
        }

        @inlinable
        var hashValue: Int {
            let hashRange = startIndex..<Swift.min(startIndex + 80, endIndex)
            return storage.withUnsafeBytes(in: hashRange) {
                return Int(bitPattern: CFHashBytes(UnsafeMutablePointer(mutating: $0.baseAddress?.assumingMemoryBound(to: UInt8.self)), CFIndex($0.count)))
            }
        }
    }

            }
        }

        @inlinable @inline(__always) // This should always be inlined into _Representation.hash(into:).
        func hash(into hasher: inout Hasher) {
            hasher.combine(length)
            Swift.withUnsafeBytes(of: bytes) { hasher.combine(bytes: $0) }
        }
    }

