add functions to manipulate tuple of types