I strongly support this pitch in principle. Binary size is one of the biggest problems for Swift apps and libraries targeting WebAssembly. I imagine this is also a big problem when targetting embedded platforms, and maybe even Swift on Linux, where people are concerned with the size of their Docker images.
At the same time, I wonder whether reflection metadata could be optimized away at LTO time completely if users enable static linking. I think this is a part of what @kateinoigakukun have been doing this summer as a part of his GSoC project. If I understand correctly, with static linking it's easy to infer what metadata is unused, so no opt-in is needed.
I imagine, this is not possible to infer with dynamic linking in all cases. Is that the reason for the explicit opt-in pitched here?