I agree that in the above example, the use of var is a bit excessive. However, for very long types (such as a dictionary with the key and value both being lists of some nested classes... see below code example), this might actually improve readability (seeing so many details may overwhelm you). Assuming the method and variable are named well, you should have a general idea of what is returned. And, you can mouse over the "GetData" method to see what the return type is.
I'd say var in the example you give would be useful for long types but not very useful for short types. However, it wouldn't slow you down too much... if you really need to see what the type is, just mouse over the method.
var x = GetPairs();
Dictionary<List<Animal.Dog>, List<Animal.Cat>> y = GetPairs();