GCC doesn't find the shortest name but it does now seem to say things like int2int and std::string instead of map<int, int> or std::basic_string<endless guff about allocators>.
(...it doesn't say int2int::iterator though, preferring struct std::_Rb_tree_iterator<std::pair<const int, int> >. So there is work yet to be done, at least as of 4.1.2 l-(