Fix generic vectors

Products types are represented as balansed tree earlier guess was wrong
and more elaborate approach is needed