since this has been resurrected, you may find this more recent discussion on metadata removal of interest: Why nominal type descriptors are always marked 'no dead strip'?
in particular, if you add the flags -Xfrontend -conditional-runtime-records -lto=llvm-thin
to the compiler invocation in the example, i think you'll find that more metadata is removed. i will, however, reiterate these caveats from that discussion: