This is rather a complicated question, so bear with me.
I have defined a struct that serves as an unmanaged array. Because I am using (and are stuck with) C# 7.3, gen