 ///      }
 ///
 @_fixed_layout
-public struct ManagedBufferPointer<Header, Element> : Equatable {
+public struct ManagedBufferPointer<Header, Element> {
+
+  @usableFromInline
+  internal var _nativeBuffer: Builtin.NativeObject
 
   /// Create with new storage containing an initial `Header` and space
   /// for at least `minimumCapacity` `element`s.

  ///
  /// - Note: This pointer is valid only for the duration of the
  ///   call to `body`.
  @inlinable // FIXME(sil-serialize-all)
  public final func withUnsafeMutablePointerToElements<R>(
    _ body: (UnsafeMutablePointer<Element>) throws -> R
  ) rethrows -> R {


  /// Internal version for use by _ContiguousArrayBuffer.init where we know that
  /// we have a valid buffer class and that the capacity is >= 0.
  @inlinable
  internal init(
    _uncheckedBufferClass: AnyClass,
    minimumCapacity: Int
