Oops, I was thinking of struct, but thought that was the VHDL version (which is actually record), so instead I suggested an interface.
Trouble is the synthesis tools support both (including Xilinx), but as I have access to either an ancient perpetual Modelsim license that supports up to Verilog 2001, Xilinx ISE's ISIM, or Vivado's XSIM I'm kind of stuck with not getting to use any of the System Verilog keywords nor added Verilog stuff. Complaining about simulation support for the latest version of the SV standard (even the non-SV stuff) falls on deaf ears a Xilinx (so I've given up complaining). It's really nice that Xilinx started supporting some of the synthesizable SV keywords, but what's the point in using them if you can run a simulation with them in the HDL.