> Both of these have defined answers written into the C standard itself.
I think the point wasn't that they're unknowable, but that the tooling doesn't give you any help in knowing - much less enforcing - the answers. Really basic things are left up to convention, which especially when it comes to third-party code, forces you to be distrustful of what you're working with and maybe even have your code do extra work (eager cloning for example), just in case an interface behaves in a way you hope it doesn't.
I think the point wasn't that they're unknowable, but that the tooling doesn't give you any help in knowing - much less enforcing - the answers. Really basic things are left up to convention, which especially when it comes to third-party code, forces you to be distrustful of what you're working with and maybe even have your code do extra work (eager cloning for example), just in case an interface behaves in a way you hope it doesn't.