At first I thought something like:
var aName=getAllSomethings();
Is very unreadable, and so I\'ll use dynamic typing just when there\'s
This is not dynamic typing. The var declares a static type known at compile time and it will be absolutely equivalent to declaring the type name. The compiler will infer the type and replace it in the resulting assembly.