And sure, in theory, every copy of a struct across trust boundaries could do explicit serialization. It seriously increases the code complexity since it can't be automated away in C, leading to more flaws. It also likely hurts performance and it's simply not practical/realistic.