Go crash - misbehave between C and GO

Isn’t it a good idea to change the application logic anyway? Consider if you (or someone else) refactored struct A to add a header. The offset of obj then becomes 4 or 8 and the NULL check fails to detect the error.