improve typetuple