removes interfaces; rebuilds generic element type