There's lots of occasions when I'm refactoring old code when I have a number of compound types that start to get unwieldy (especially for pre-C++11 code):
std::pair<Pig,Poke> pigPokePair;
std::vector<std::pair<Pig,Poke>> pigsAndPokes;
for (std::vector<std::pair<Pig,Poke>>::iterator it=...)
It would be very helpful to be able to have an 'extract typedef' that would work in a similar way to the Introduce Variable refactoring: select 'std::pair<Pig,Poke>', invoke the refactoring and VA brings up a prompt to replace all in the current scope. VA asks for the new name ('PigPoke') and then will introduce a typedef on the line above and then replace all occurrences.