tschuett added a comment. Do you really need a plain union? How about a `PointerUnion` or something llvmy `std::variant`? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127581/new/ https://reviews.llvm.org/D127581