If we're going to bikeshed, maybe `repr(declaration)` or `repr(as_written)` would be more descriptive?

I think `repr(C)` is actually OK, because it's specifying that C layout rules should be used (i.e. declaration order), although it could easily be interpreted as "struct for C FFI". There are other possible "fixed" layouts (e.g. sorting by field size, or even alphabetically).

In any case, I don't particularly care about the name.