As a reader, faced with:
Dictionary<string, KeyValuePair<int, string>> contrivedExample = new Dictionary<string, KeyValuePair<int, string>>();
And DictionaryOfStringsWithKeyValuePairs contrivedExample = new DictionaryOfStringsWithKeyValuePairs();
And var contrivedExample = new Dictionary<string, KeyValuePair<int, string>>();
I'd definitely prefer the latter.-- Edit: rephrased to be less presumptuous