added sanity checks for struct field offsets, widths and alignment