us supporting .NET Standard 2.0 also means we support .NET Framework 4.6.1 😉
us supporting .NET Standard 2.0 also means we support .NET Framework 4.6.1 
These are 32-bit integers when running in a 32-bit process, or 64-bit integers when running in a 64-bit process. They can be used for interop scenarios, low-level libraries, and to optimize performance in scenarios where integer math is used extensively.

The native-sized integer types are represented internally as the .NET types System.IntPtr and System.UIntPtr. Unlike other numeric types, the keywords are not simply aliases for the types. The following statements are not equivalent:nint/nuintIntPtr/UIntPtr//this works
var debugCreateInfo = DebugMessengerEnabled ? CreateDebugUtilsMessengerCreateInfoExt() : (default);
var createInfo = new InstanceCreateInfo()
{
PNext = DebugMessengerEnabled ? &debugCreateInfo : null
};
//this doesn't because nullable changes the struct and it crashes at runtime
var debugCreateInfo = DebugMessengerEnabled ? CreateDebugUtilsMessengerCreateInfoExt() : (DebugUtilsMessengerCreateInfoEXT?)null;
var createInfo = new InstanceCreateInfo()
{
PNext = DebugMessengerEnabled ? &debugCreateInfo : null
};
//this throws a compile error Cannot take the address of the given expression
var debugCreateInfo = DebugMessengerEnabled ? CreateDebugUtilsMessengerCreateInfoExt() : (DebugUtilsMessengerCreateInfoEXT?)null;
var createInfo = new InstanceCreateInfo()
{
PNext = DebugMessengerEnabled ? &debugCreateInfo.Value : null
}; public void Update(
IGetBufferData getBufferDataFrom)
{
if (!this.offsets.TryGetValue(getBufferDataFrom, out var offset))
return;
this.gl.BindBuffer(BufferTargetARB.CopyWriteBuffer, this.buffer);
if (_popFcn == null)
{
_popFcn = (ReadOnlySpan<byte> bufferData, ref uint offsetLocal) =>
{
this.gl.BufferSubData<byte>(BufferTargetARB.CopyWriteBuffer, (int)offsetLocal, bufferData);
};
}
getBufferDataFrom.GetBufferData(_popFcn, ref offset);
this.gl.BindBuffer(BufferTargetARB.CopyWriteBuffer, 0);
}this.gl.*this.gl.*Update()_popFcnSpan<byte>this.gl.BufferSubData<byte>()public void BufferSubData<T0>(GLEnum target, IntPtr offset, ReadOnlySpan<T0> data)public void BufferSubData<T0>(BufferTargetARB target, IntPtr offset, ReadOnlySpan<T0> data)