The module type is here to make the dup type internal only, given it can’t be used outside of the module, the compiler can track if all of its variants are used or not.
Can I ask you why you need to get the TAG name? If you need to convert each variant to a string, I’d rather do it manually than making it depend on some internals.