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