struct t1 { char c; int i; };
struct t2 { char c; int i[10]; };
struct t2cs { char c; int[] i; };
unsafe struct t2cs { char c; fixed int i[10]; };
struct t3 { char c; t1 t[10]; };
struct t3cs { char c; [MarshalAs(UnmanagedType.ByValArray, SizeConst=10)] t1[] t; };