I haven’t been able to get the type() operator to work in a declaration with a scope operator.
When I try
type(V::bus_loopback_vif) bus_loopback_vif;
I get
** Error: test.sv(88): Type-reference expression may not have hierarchical refs. or elements of dynamic types.
This is not a blocking issue since the typedef approach solve the problem and now makes sense, but it would be nice to understand it.