What do we gain here except tons of generic variables