public OpaquePointer(UnsafeMutableRawPointer p)
     : this(p.Pointer)
 {
 }
 public UnsafeRawPointer(UnsafeMutableRawPointer p)
     : this(p.Pointer)
 {
 }