Similar to what Rust are doing with `std::any::TypeId` https://github.com/rust-lang/rust/pull/109953