In reply to MICRO_91:
The sequence/sequencer/driver code is quite convoluted to follow. Instead of using pure TLM protocol, or adapting TLM to meet the requirements of the sequences, they branched and created a separate sequencer API.
I don’t think a sequence has to have the exact same parametrization, but I do think it has to have a uvm_sequence_item in the same inheritance line to be passed with incompatible casting.