んな難しい話じゃない。
List<String> a = new List<String>;
var a = new List<String>;
型推論は右辺の戻り値と同じ型を左辺に設定するだけなんだから、メソッドでも何でも使う以上は戻り値意識するんだし、var使ったら判らないとか無いから。

逆にvar使ったら判らないとか言ってる奴に関数やメソッドの戻り値知らないで使ってるのか聞きたいわ。