You are right that C compilers already strive to ensure ABI struct compatiblity
which is why I think having Nim leverage that effort is better than reproducing
it at the Nim level, though using backends themselves to pre-generate things
may help. My point was to get truly Nim-time resolved values was trickier than
it seemed was being framed by the discussion. Another thought along those lines
might be to resolve things to Nim-time values only for types using Nim's
`{.packed.}` pragma. Maybe only `{.packed.}` types would get the best error
reports.