add type_list to manipulate tuple of types