C++ traits, how can this be done in Systemverilog?

I could use a technique like C++ traits. In C++ this relies on (partial) template specialization, which I think SV does not support. Are there commonly used alternatives? I would assume the UVM would rely on such constructs?