anchor.diff:          res
   
       override _.AsStream() =
  -        new UnmanagedMemoryStream(addr, int64 length) :> Stream
  +        new SafeUnmanagedMemoryStream(addr, int64 length, hold) :> Stream
   
       override _.AsReadOnlyStream() =
  -        new UnmanagedMemoryStream(addr, int64 length, int64 length, FileAccess.Read) :> Stream
  +        new SafeUnmanagedMemoryStream(addr, int64 length, int64 length, FileAccess.Read, hold) :> Stream
   
   [<Struct;NoEquality;NoComparison>]
   type ReadOnlyByteMemory(bytes: ByteMemory) =
  
positive.code: 
      override _.AsReadOnlyStream() =
          new MemoryStream(bytes, offset, length, false) :> Stream
  
  [<Sealed>]
  type RawByteMemory(addr: nativeptr<byte>, length: int, hold: obj) =
  
negative.code:         use stream2 = x.AsStream()
          stream2.CopyTo stream
  
      override _.Copy(srcOffset, dest, destOffset, count) =
          check srcOffset
          Marshal.Copy(NativePtr.toNativeInt addr + nativeint srcOffset, dest, destOffset, count)
  
  