Generic sequence item declaration

Is there anyway we can define a generic sequence item and then assign a appropriate type later? Its not part of object instantiation. I tried it and dint work.


 task xyz();
 type T txn;

 later..
   T = spi_pkg::txn;
 endtask