https://github.com/tblah commented: Thank you for contributing this. The overall design looks good to me but I think we need to do more to correctly init and de-init derived types. https://github.com/llvm/llvm-project/pull/168417