Structs are a little harder
Passing data structures in and out of libraries is harder
ManagedStruct
and
UnManagedStruct
PMCs make it easier
You do have to define struct layouts, if you want to access struct