I'm fishing around trying to get true precise mouse-wheel info to work on MacOS, and I'm surprised that OpenTK uses IntPtr instead of unsafe struct * to type foreign datatypes.
Any particular reason for this? It makes the code really hard to read, and also makes mistakes pretty easy. I know MSFT advocates IntPtr, though I have no idea why. It's not as if they are "safe".
Years ago I wrote an article on the technique of using "unsafe struct *", in-case this is unfamiliar to someone.